/*!
 * @file adaptfilt_test.cpp
 *
 * @author Andrzej Ciarkowski <mailto:andrzej.ciarkowski@gmail.com>
 */

#include "adaptfilt_test.h"
#include <dsp++/adaptfilt.h>
#include <dsp++/fdaf.h>
#include <dsp++/float.h>

const double in[] = {0.53766715526580811, 1.8338850736618042, -2.2588467597961426, 0.86217331886291504, 0.31876525282859802, -1.3076883554458618, -0.43359202146530151, 0.34262445569038391, 3.5783970355987549, 2.7694370746612549, -1.3498868942260742, 3.0349235534667969, 0.72540420293807983, -0.063054874539375305, 0.71474289894104004, -0.20496605336666107, -0.12414434552192688, 1.4896975755691528, 1.4090344905853271, 1.4171924591064453, 0.67149710655212402, -1.2074868679046631, 0.7172386646270752, 1.6302353143692017, 0.4888937771320343, 1.0346930027008057, 0.72688513994216919, -0.30344092845916748, 0.29387146234512329, -0.78728282451629639, 0.88839560747146606, -1.147070050239563, -1.0688704252243042, -0.80949866771697998, -2.944284200668335, 1.438380241394043, 0.32519054412841797, -0.75492829084396362, 1.3702985048294067, -1.7115163803100586, -0.10224244743585587, -0.24144704639911652, 0.31920674443244934, 0.31285861134529114, -0.86487990617752075, -0.030051296576857567, -0.16487902402877808, 0.62770730257034302, 1.0932656526565552, 1.1092733144760132, -0.86365282535552979, 0.077359087765216827, -1.2141170501708984, -1.113500714302063, -0.0068493280559778214, 1.5326303243637085, -0.76966589689254761, 0.37137880921363831, -0.22558440268039703, 1.1173561811447144, -1.0890642404556274, 0.032557465136051178, 0.55252701044082642, 1.1006102561950684, 1.5442118644714355, 0.08593112975358963, -1.4915902614593506, -0.7423018217086792, -1.0615817308425903, 2.3504571914672852, -0.61560189723968506, 0.74807679653167725, -0.19241851568222046, 0.88861042261123657, -0.76484924554824829, -1.4022690057754517, -1.4223759174346924, 0.48819389939308167, -0.17737515270709991, -0.19605349004268646, 1.4193100929260254, 0.29158437252044678, 0.19781105220317841, 1.5876990556716919, -0.80446594953536987, 0.69662439823150635, 0.83508819341659546, -0.24371513724327087, 0.21567007899284363, -1.1658439636230469, -1.1479527950286865, 0.10487471520900726, 0.72225403785705566, 2.5854911804199219, -0.66689068078994751, 0.18733102083206177, -0.082494422793388367, -1.9330229759216309, -0.43896615505218506, -1.794678807258606, 0.84037554264068604, -0.88803207874298096, 0.10009283572435379, -0.54452890157699585, 0.3035207986831665, -0.6003265380859375, 0.48996531963348389, 0.73936313390731812, 1.7118878364562988, -0.1941235363483429, -2.1383552551269531, -0.83958876132965088, 1.354594349861145, -1.072155237197876, 0.96095389127731323, 0.12404979765415192, 1.4366966485977173, -1.9608999490737915, -0.19769822061061859, -1.2078454494476318, 2.9080080986022949, 0.82521891593933105, 1.3789719343185425, -1.0581802129745483, -0.46861559152603149, -0.27246940135955811, 1.0984246730804443, -0.27787193655967712, 0.7015414834022522, -2.0518162250518799, -0.35385000705718994, -0.82358652353286743, -1.5770570039749146, 0.50797462463378906, 0.28198406100273132, 0.033479880541563034, -1.3336778879165649, 1.1274923086166382, 0.35017940402030945, -0.29906603693962097, 0.022889792919158936, -0.26199543476104736, -1.7502123117446899, -0.28565096855163574, -0.83136653900146484, -0.97920632362365723, -1.1564016342163086, -0.53355711698532104, -2.0026357173919678, 0.96422940492630005, 0.52006012201309204, -0.020027851685881615, -0.034771084785461426, -0.79816359281539917, 1.0186853408813477, -0.13321748375892639, -0.71453016996383667, 1.3513857126235962, -0.22477105259895325, -0.58902901411056519, -0.29375359416007996, -0.84792625904083252, -1.1201282739639282, 2.5259997844696045, 1.6554975509643555, 0.30753517150878906, -1.2571183443069458, -0.86546802520751953, -0.17653411626815796, 0.79141604900360107, -1.3320044279098511, -2.3298671245574951, -1.4490972757339478, 0.33351084589958191, 0.39135360717773438, 0.45167940855026245, -0.13028465211391449, 0.18368910253047943, -0.47615301609039307, 0.86202162504196167, -1.3616944551467896, 0.45502954721450806, -0.84870940446853638, -0.33488693833351135, 0.55278337001800537, 1.039090633392334, -1.1176387071609497, 1.2606587409973145, 0.66014313697814941, -0.067865550518035889, -0.1952212005853653, -0.21760635077953339, -0.3031076192855835, 0.023045623674988747, 0.051290355622768402, 0.82606279850006104, 1.5269767045974731, 0.46691444516181946, -0.20971333980560303, 0.6251903772354126, 0.18322725594043732, -1.0297675132751465, 0.94922184944152832, 0.30706191062927246, 0.1351749449968338, 0.51524633169174194, 0.26140633225440979, -0.94148576259613037, -0.16233767569065094, -0.14605464041233063, -0.53201138973236084, 1.6821036338806152, -0.87572932243347168, -0.48381504416465759, -0.71200454235076904, -1.1742123365402222, -0.19223952293395996, -0.27407023310661316, 1.5300725698471069, -0.24902474880218506, -1.0642133951187134, 1.6034573316574097, 1.234679102897644, -0.22962644696235657, -1.5061596632003784, -0.44462782144546509, -0.15594103932380676, 0.27606824040412903, -0.26116365194320679, 0.44342190027236938, 0.39189422130584717, -1.2506788969039917, -0.94796091318130493, -0.74110609292984009, -0.50781756639480591, -0.32057550549507141, 0.012469041161239147, -3.0291774272918701, -0.45701465010643005, 1.2424484491348267, -1.0667014122009277, 0.93372815847396851, 0.35032099485397339, -0.029005764052271843, 0.18245217204093933, -1.5650559663772583, -0.08453948050737381, 1.603946328163147, 0.098347775638103485, 0.041373614221811295, -0.7341691255569458, -0.030813729390501976, 0.23234701156616211, 0.42638754844665527, -0.37280875444412231, -0.23645459115505219, 2.023690938949585, -2.2583539485931396, 2.2294456958770752, 0.33756369352340698, 1.0000607967376709, -1.6641644239425659, -0.59003454446792603, -0.27806416153907776, 0.4227156937122345, -1.6702007055282593, 0.47163432836532593, -1.2128472328186035, 0.066190049052238464, 0.65235590934753418, 0.32705995440483093, 1.0826334953308105, 1.0060771703720093, -0.65090775489807129, 0.25705614686012268, -0.94437777996063232, -1.3217885494232178, 0.92482590675354004, 4.9849073548102751e-005, -0.054918915033340454, 0.91112726926803589, 0.59458369016647339, 0.35020115971565247, 1.2502511739730835, 0.92978948354721069, 0.23976325988769531, -0.69036108255386353, -0.65155363082885742, 1.1921018362045288, -1.6118303537368774, -0.024461936205625534, -1.9488471746444702, 1.0204980373382568, 0.86171633005142212, 0.0011620834702625871, -0.070837214589118958, -2.4862840175628662, 0.58117234706878662, -2.1924350261688232, -2.3192803859710693, 0.079933710396289825, -0.94848096370697021, 0.41149061918258667, 0.67697781324386597, 0.85773253440856934, -0.69115912914276123, 0.4493776261806488, 0.10063335299491882, 0.82607001066207886, 0.53615707159042358, 0.8978884220123291, -0.13193786144256592, -0.14720146358013153, 1.0077733993530273, -2.1236555576324463, -0.50458639860153198, -1.2705944776535034, -0.38258481025695801, 0.64867925643920898, 0.82572716474533081, -1.0149435997009277, -0.47106990218162537, 0.13702487945556641, -0.29186338186264038, 0.30181854963302612, 0.39993095397949219, -0.92996156215667725, -0.17683026194572449, -2.1320946216583252, 1.1453616619110107, -0.62909078598022461, -1.2038500308990479, -0.25394469499588013, -1.4286469221115112, -0.020857617259025574, -0.56066501140594482, 2.1777787208557129, 1.138465404510498, -2.4968864917755127, 0.44132694602012634, -1.3981379270553589, -0.25505518913269043, 0.16440407931804657, 0.74773401021957397, -0.27304694056510925, 1.5763001441955566, -0.48093715310096741, 0.32751211524009705, 0.6647341251373291, 0.085188589990139008, 0.88095277547836304, 0.323213130235672, -0.78414618968963623, -1.8053733110427856, 1.8585929870605469, -0.60453009605407715, 0.10335972160100937, 0.56316697597503662, 0.11359699815511703, -0.90472620725631714, -0.4677145779132843, -0.12488994747400284, 1.4789584875106812, -0.86081570386886597, 0.7846684455871582, 0.30862313508987427, -0.23386004567146301, -1.0569727420806885, -0.284140944480896, -0.086690284311771393, -1.4693950414657593, 0.19218224287033081, -0.82229328155517578, -0.094240590929985046, 0.33621335029602051, -0.90465408563613892, -0.28825634717941284, 0.35006275773048401, -1.8358591794967651, 1.0359759330749512, 2.4244611263275146, 0.95940053462982178, -0.31577199697494507, 0.42862269282341003, -1.0359847545623779, 1.8778654336929321, 0.94070440530776978, 0.7873457670211792, -0.87587428092956543, 0.31994912028312683, -0.55829429626464844, -0.31142941117286682, -0.57000988721847534, -1.0257335901260376, -0.90874558687210083, -0.20989733934402466, -1.6988641023635864, 0.60760056972503662, -0.11779829114675522, 0.69916033744812012, 0.26964864134788513, 0.49428704380989075, -1.4831210374832153, -1.0202643871307373, -0.44699501991271973, 0.10965859144926071, 1.1287364959716797, -0.28996303677558899, 1.2615506649017334, 0.47542482614517212, 1.1741167306900024, 0.1269470751285553, -0.65681594610214233, -1.4813990592956543, 0.1554889976978302, 0.81855136156082153, -0.29258814454078674, -0.54078644514083862, -0.30864182114601135, -1.0965932607650757, -0.49300980567932129, -0.18073935806751251, 0.045841105282306671, -0.063783116638660431, 0.61133521795272827, 0.10931769013404846, 1.8140155076980591, 0.3120238184928894, 1.80449378490448, -0.72312146425247192, 0.52654701471328735, -0.26025086641311646, 0.60014253854751587, 0.59393078088760376, -2.1860215663909912, -1.3270431756973267, -1.4410135746002197, 0.40184450149536133, 1.4702012538909912, -0.32681423425674438, 0.81232303380966187, 0.54554009437561035, -1.051632285118103, 0.3974669873714447, -0.75189471244812012, 1.516266942024231, -0.032566510140895844, 1.6359996795654297, -0.42505848407745361, 0.58943337202072144, -0.062791228294372559, -2.0219588279724121, -0.98213154077529907, 0.6125112771987915, -0.054886128753423691, -1.1187319755554199, -0.62637853622436523, 0.24951773881912231, -0.9930189847946167, 0.97495025396347046, -0.6407095193862915, 1.808862566947937, -1.0798662900924683, 0.1991894394159317, -1.521026611328125, -0.72363114356994629, -0.5932503342628479, 0.40133634209632874, 0.94213330745697021, 0.30048596858978271, -0.37307065725326538, 0.81548851728439331, 0.79888701438903809, 0.12020528316497803, 0.5712476372718811, 0.4127960205078125, -0.98696190118789673, 0.75956833362579346, -0.65720129013061523, -0.60391849279403687, 0.17694681882858276, -0.30750346183776855, -0.13182035088539124, 0.59535765647888184, 1.046832799911499, -0.19795863330364227, 0.32767817378044128, -0.23830150067806244, 0.22959689795970917, 0.43999791145324707, -0.61686593294143677, 0.27483677864074707, 0.60110205411911011, 0.09230794757604599, 1.7298413515090942, -0.60855746269226074, -0.73705977201461792, -1.7498793601989746, 0.91048258543014526, 0.86708253622055054, -0.079892836511135101, 0.8984760046005249, 0.18370342254638672, 0.2907901406288147, 0.11294471472501755, 0.43995219469070435, 0.10166244208812714, 2.7873351573944092, -1.1666650772094727, -1.8542990684509277, -1.1406811475753784, -1.0933434963226318, -0.43360930681228638, -0.1684698760509491, -0.21853356063365936, 0.54133445024490356, 0.38926619291305542, 0.75122898817062378, 1.7782559394836426, 1.2230625152587891, -1.2832560539245605, -2.3289544582366943, 0.90193146467208862, -1.8356386423110962, 0.06675691157579422, 0.035479485988616943, 2.227168083190918, -0.06921425461769104, -0.50732308626174927, 0.23580966889858246, 0.24580484628677368, 0.070045210421085358, -0.60858052968978882, -1.2225934267044067, 0.31650036573410034, -1.3428692817687988, -1.032184362411499, 1.3312158584594727, -0.41890320181846619, -0.14032171666622162, 0.89982235431671143, -0.30011099576950073, 1.0293656587600708, -0.34506598114967346, 1.0128018856048584, 0.62933456897735596, -0.21301507949829102, -0.86569732427597046, -1.043108344078064, -0.27006882429122925, -0.4381413459777832, -0.40867432951927185, 0.98354524374008179, -0.29769715666770935, 1.1436789035797119, -0.53162014484405518, 0.97256571054458618, -0.5222504734992981, 0.17657779157161713, 0.97073781490325928, -0.41397228837013245, -0.43827050924301147, 2.0033905506134033, 0.95099347829818726, -0.43200385570526123, 0.64894074201583862, -0.36007630825042725, 0.70588499307632446, 1.4158490896224976, -1.6045156717300415, 1.0288530588150024, 1.4579677581787109, 0.047471322119235992, 1.7462567090988159, 0.1553875207901001, -1.2371196746826172, -2.1934943199157715, -0.33340707421302795, 0.71354329586029053, 0.31740772724151611, 0.41361039876937866, -0.57708555459976196, 0.1440017968416214, -1.6386656761169434, -0.76008999347686768, -0.81879311800003052, 0.5197288990020752, -0.01416005939245224, -1.1555293798446655, -0.009524916298687458, -0.68981051445007324, -0.66669917106628418, 0.86414939165115356, 0.11341943591833115, 0.39836284518241882, 0.88396990299224854, 0.18025769293308258, 0.55085450410842896, 0.6829642653465271, 1.1706086397171021, 0.475860595703125, 1.4122326374053955, 0.022608485072851181, -0.047869410365819931, 1.7013345956802368, -0.50971174240112305, -0.0028549600392580032, 0.91986709833145142, 0.14980873465538025, 1.4049334526062012, 1.0341215133666992, 0.2915702760219574, -0.77769851684570313, 0.56669610738754272, -1.382621169090271, 0.24447467923164368, 0.80843877792358398, 0.21304169297218323, 0.8796771764755249, 2.0388762950897217, 0.92393243312835693, 0.26691743731498718, 0.64166152477264404, 0.42548534274101257, -1.3147234916687012, -0.41641122102737427, 1.2246878147125244, -0.043584205210208893, 0.58242326974868774, -1.0065001249313354, 0.064516745507717133, 0.60029196739196777, -1.3615149259567261, 0.34759262204170227, -0.18184322118759155, -0.93953478336334229, -0.037533190101385117, -1.8963044881820679, -2.127976655960083, -1.1769232749938965, -0.99053221940994263, -1.173032283782959, -1.7254277467727661, 0.28822809457778931, -1.5941836833953857, 0.11021885275840759, 0.78706669807434082, -0.0022267862223088741, 0.093108758330345154, -0.37815704941749573, -1.4826761484146118, -0.043818585574626923, 0.96082520484924316, 1.738244891166687, -0.43020623922348022, -1.627322793006897, 0.16634748876094818, 0.37626591324806213, -0.22695046663284302, -1.1489123106002808, 2.0243325233459473, -2.3595235347747803, -0.50997203588485718, -1.3216255903244019, -0.63612824678421021, 0.31785142421722412, 0.13804797828197479, -0.71073508262634277, 0.77700352668762207, 0.6223939061164856, 0.64738088846206665, -0.42563167214393616, 1.0485807657241821, 0.66070711612701416, 2.5087723731994629, 1.0634596347808838, 1.1569216251373291, 0.052978828549385071, -1.2883859872817993, -0.37122124433517456, -0.75779193639755249, -0.56396889686584473, 0.55513858795166016, -0.55677807331085205, -0.89511311054229736, -0.40932771563529968, -0.16088676452636719, 0.40933442115783691, -0.9526360034942627, 0.31731748580932617, 0.078020080924034119, 1.324385404586792, -0.21317048370838165, -0.13447864353656769, -1.1713558435440063, -1.3852627277374268, 0.31050831079483032, -0.24948906898498535, 0.50374406576156616, -0.89266139268875122, 1.9085123538970947, 0.12223070114850998, 1.0470333099365234, -0.22692020237445831, -0.16250194609165192, 0.69005191326141357, 0.55575674772262573, -1.1202549934387207, -1.5326930284500122, -1.0978677272796631, -1.4157732725143433, 0.059570588171482086, -0.41125091910362244, -0.36801072955131531, -1.3609631061553955, 0.7795674204826355, 0.43941110372543335, -0.089622482657432556, 1.0211801528930664, -0.87397944927215576, 0.41470029950141907, 0.34844121336936951, 0.34925442934036255, -0.72924727201461792, 0.32684025168418884, -0.51488161087036133, -0.89644616842269897, -1.2032681703567505, 1.0378156900405884, -0.84594422578811646, -0.17291384935379028, -1.2086520195007324, -0.29712679982185364, -3.2320377826690674, -1.0869592428207397, -1.426436185836792, -1.0144507884979248, -0.21326719224452972, -0.32534778118133545, 1.9443978071212769, -0.5717732310295105, -0.25003227591514587, -1.5693154335021973, -0.47738265991210938, -1.3379766941070557, 0.030299024656414986, 0.85308676958084106, 0.40425345301628113, -0.70062023401260376, -1.6305428743362427, 1.4600131511688232, 2.0500426292419434, 0.1205006018280983, -0.98990160226821899, 1.197771430015564, -0.59265619516372681, -0.46980935335159302, 0.88637739419937134, -1.3852198123931885, -1.9567539691925049, 0.42068371176719666, 0.40073800086975098, 0.095142155885696411, 0.49668440222740173, 1.0822405815124512, 0.97044777870178223, -0.56856954097747803, 0.80997204780578613, 0.17324736714363098, -0.5055425763130188, -1.1933058500289917, 0.64697092771530151, -0.35362258553504944, 0.046434525400400162, -0.79294753074645996, -1.5505144596099854, 0.17158634960651398, -0.062139123678207397, 1.1990278959274292, 0.8017040491104126, 1.0533045530319214, -0.74887675046920776, -0.93632650375366211, -1.2690867185592651, 0.49798062443733215, 2.7890810966491699, 0.72757202386856079, -0.77306407690048218, 0.83663374185562134, -1.1283303499221802, -1.424470067024231, 0.71744233369827271, -0.77790552377700806, 0.31598588824272156, 1.4065351486206055, 0.40112462639808655, 0.92966026067733765, -1.6058021783828735, 0.66153621673583984, 2.1385023593902588, 0.54113942384719849, -1.5408772230148315, -0.20314279198646545, -0.49996522068977356, 0.38302391767501831, 0.41203537583351135, 0.40549254417419434, -0.36378073692321777, -0.59927201271057129, -0.58958899974822998, 0.85354083776473999, -1.8530080318450928, -0.20730316638946533, 0.27037820219993591, -0.65277099609375, 0.47722727060317993, -0.071319647133350372, -0.93830126523971558, 0.16136354207992554, -0.26818287372589111, -0.40987265110015869, -0.71132272481918335, 0.061445482075214386, -1.8461291790008545, -0.39833313226699829, -0.5435481071472168, -0.91189849376678467, 0.6526985764503479, -0.73427128791809082, 0.54063308238983154, 0.97584086656570435, -0.15687040984630585, 0.27779930830001831, 0.63951730728149414, -0.080978013575077057, 0.54087013006210327, -1.2625648975372314, 1.1104238033294678, -0.98956269025802612, -1.8288359642028809, 1.3844984769821167, -0.062726795673370361, 0.44892111420631409, -0.3632584810256958, -1.0205833911895752, -3.0729885101318359, 0.62627899646759033, -0.2866845428943634, -0.19734290242195129, 0.40560537576675415, -1.4193484783172607, -0.72944521903991699, 1.1473278999328613, 0.59786462783813477, -1.2812812328338623, -2.2032642364501953, -0.57124632596969604, 0.21399648487567902, 0.94237691164016724, 0.093725487589836121, -1.1223117113113403, 0.30615782737731934, -1.1723349094390869, -0.96096658706665039, -0.65373504161834717, -1.2293936014175415, -0.27096512913703918, -0.89995008707046509, -0.28568613529205322, -0.46242153644561768, -0.40978521108627319, -0.50353896617889404, 1.2332971096038818, 0.61030519008636475, 0.059072155505418777, -1.4669467210769653, -1.6258032321929932, -1.9647524356842041, 2.6051957607269287, 0.97237479686737061, 0.25698095560073853, -0.97424048185348511, -1.1463643312454224, 0.54763948917388916, 1.5650839805603027, -1.6933436393737793, -0.44939735531806946, -0.08429206907749176, -1.9919971227645874, 0.84124565124511719, -0.41465890407562256, 1.9121807813644409, -0.39089873433113098, 0.40918207168579102, -1.1424281597137451, -0.62486380338668823, -1.1687228679656982, 0.39257529377937317, 1.3018394708633423, -0.59364175796508789, 0.43637537956237793, -0.50436246395111084, 0.10210771113634109, 1.1962505578994751, 0.12028281390666962, -1.0368434190750122, -0.85710322856903076, -0.16987431049346924, -0.19166828691959381, -0.86581522226333618, 0.18066413700580597, 1.2665284872055054, -0.25116929411888123, -0.20457005500793457, -2.2015218734741211, -0.7745131254196167, -1.3932726383209229, -0.38623464107513428, 0.52558636665344238, 1.5232692956924438, 1.7984944581985474, -0.1168842688202858, -0.32019618153572083, 0.8175162672996521, 0.49015918374061584, 0.76525115966796875, 0.77827906608581543, -1.4803051948547363, 0.54036396741867065, -0.09153902530670166, -0.76025235652923584, -0.69359546899795532, 1.281457781791687, -0.80973762273788452, -1.2368183135986328, 0.21468645334243774, 2.0107717514038086, 0.025554433465003967, 0.30829942226409912, -0.9382472038269043, 1.6742159128189087, 0.12498817592859268, 0.5301012396812439, -0.95206820964813232, 0.85404282808303833, 0.38914573192596436, -1.156001091003418, 0.039740126579999924, -0.45059859752655029, 0.10924794524908066, -0.25055283308029175, -0.18990164995193481, -1.0329135656356812, -0.32329192757606506, 0.76652687788009644, 1.7446731328964233, -1.1605199575424194, 2.3774118423461914, 1.5260779857635498, 0.16850750148296356, -0.30120652914047241, -0.69865429401397705, 0.83277058601379395, -0.69460523128509521, -0.46188297867774963, 0.88361716270446777, 0.43594416975975037, 0.89674735069274902, 0.50473201274871826, -0.40089714527130127, -0.51384800672531128, 0.7963675856590271, -0.67119014263153076, 1.1866590976715088, 0.79070198535919189, 0.28772148489952087, 0.0032261146698147058, 0.36561718583106995, 3.5266778469085693, -0.11243665963411331, -1.5565938949584961, 1.9151022434234619, 0.60984605550765991, -0.64791160821914673, 2.6173348426818848, 0.55095040798187256, 0.29420369863510132, -0.77784377336502075, -1.0649300813674927, -1.7684140205383301, -0.42291954159736633, -1.0531023740768433, 0.64775526523590088, -0.3176281750202179, 1.7689915895462036, 1.510582447052002, 0.16401031613349915, -0.28276371955871582, 1.1521657705307007, -1.1465076208114624, 0.67369872331619263, -0.66911298036575317, -0.40032270550727844, -0.67180240154266357, 0.57562899589538574, -0.77809351682662964, -1.0635612010955811, 0.5529782772064209, -0.42342883348464966, 0.36158716678619385, -0.35188925266265869, 0.2695406973361969, -2.5644493103027344, 0.46586412191390991, 1.8535609245300293, 1.0392893552780151, 0.91089659929275513, -0.23973128199577332, 0.18099808692932129, 0.24424955248832703, 0.096392884850502014, -0.83046847581863403, -0.35225218534469604, -0.17477503418922424};
const double out[] = {-0.0486912801861763, 0.080800853669643402, 0.25496736168861389, -0.12502562999725342, 0.0098607242107391357, -0.15954142808914185, 0.13877616822719574, 0.17345805466175079, -0.18908156454563141, 0.12555405497550964, -0.065925531089305878, 0.14512912929058075, 0.02314288355410099, -0.22410339117050171, 0.39893931150436401, 0.9734007716178894, 0.52313679456710815, -0.257454514503479, -0.13778139650821686, -0.033040065318346024, -0.5799834132194519, -1.0837939977645874, 0.14052152633666992, 2.2774355411529541, 2.5559277534484863, 1.5597996711730957, 0.89722335338592529, 1.090532660484314, 1.1327986717224121, 0.56144356727600098, -0.13034172356128693, -0.17796824872493744, 0.73371589183807373, 1.5529601573944092, 1.5673854351043701, 0.78959619998931885, -0.20600081980228424, -0.11192721128463745, 0.80591803789138794, 1.3777337074279785, 1.0962278842926025, 0.62709575891494751, 0.28176727890968323, -0.038951322436332703, -0.24423187971115112, 0.041729208081960678, 0.039297167211771011, -0.82843959331512451, -1.384374737739563, -1.600222110748291, -0.68782496452331543, 0.23451237380504608, 0.49934276938438416, 0.019381653517484665, -0.44547381997108459, -0.50999277830123901, -0.27985763549804688, 0.2459695041179657, 0.39341595768928528, -0.40539902448654175, -0.54990297555923462, -0.25944364070892334, 0.48184886574745178, 0.80459249019622803, 0.8222736120223999, 0.51894915103912354, -0.35338771343231201, -0.99640190601348877, -1.1621079444885254, -0.42937794327735901, 0.56245803833007813, 0.54041463136672974, 0.14858664572238922, -0.13795618712902069, 0.1731334924697876, -0.042694587260484695, -0.37554162740707397, -0.18140867352485657, 1.0944350957870483, 1.4817519187927246, 0.6539614200592041, -0.76563918590545654, -1.3742552995681763, -0.70025813579559326, 0.47405976057052612, 0.77134180068969727, 0.11034093797206879, 0.19467473030090332, 0.50032913684844971, -0.012360556982457638, -1.2180134057998657, -1.4240095615386963, -0.74386274814605713, 0.23270499706268311, 0.39368176460266113, 0.36242973804473877, 0.72924911975860596, 0.66349917650222778, 0.58234643936157227, 0.46368828415870667, 0.37383186817169189, 0.47349843382835388, 0.58833056688308716, 0.1055598184466362, -0.64438408613204956, -1.3397047519683838, -0.56900548934936523, 0.75202840566635132, 1.5706665515899658, 0.99486643075942993, 0.24513199925422668, -0.36334690451622009, -0.99666249752044678, -1.2126517295837402, -0.90132462978363037, -0.49928650259971619, -0.2115786075592041, -0.14246611297130585, -0.19943961501121521, -0.13022381067276001, -0.34868606925010681, -0.089210361242294312, 0.91657191514968872, 1.529605507850647, 0.45491039752960205, -0.89006507396697998, -1.4375103712081909, -0.34859701991081238, 0.28848370909690857, 0.17844441533088684, 0.36055058240890503, 0.72403979301452637, -0.049823477864265442, -1.1563814878463745, -0.84310013055801392, 0.74580246210098267, 1.9946234226226807, 1.4347113370895386, -0.17576231062412262, -0.86851853132247925, -0.15926553308963776, 0.41821688413619995, 0.68150448799133301, -0.065452978014945984, -0.4738440215587616, -1.0926684141159058, -1.1406590938568115, -1.0120025873184204, -0.25965183973312378, 0.18780882656574249, 0.031740866601467133, -0.029440239071846008, -0.23148807883262634, 0.33399426937103271, 0.72132992744445801, -0.10750702768564224, -0.47271844744682312, -0.94863885641098022, -0.83191204071044922, -0.79762953519821167, -0.63248735666275024, -0.91421103477478027, -1.2638847827911377, -1.0375401973724365, -0.52879315614700317, 0.3630821704864502, 0.49982473254203796, -0.19631348550319672, -0.34050771594047546, -0.1357511579990387, 0.12339895218610764, 0.051081504672765732, -0.012341417372226715, 0.16834276914596558, 0.14366471767425537, -0.58332443237304688, -1.0371936559677124, -0.85855698585510254, 1.0199474096298218, 2.0018758773803711, 1.1645693778991699, -0.66452485322952271, -1.3069250583648682, -0.29243475198745728, 0.52377980947494507, -0.28301584720611572, -1.7868649959564209, -2.1998138427734375, -0.77524906396865845, 0.3516840934753418, 0.584758460521698, 0.19681009650230408, -0.077037952840328217, 0.21771849691867828, 0.11787948757410049, -0.29928886890411377, -0.28522485494613647, -0.4730781614780426, -0.31694981455802917, 0.2632271945476532, 0.4401802122592926, 0.24982574582099915, 0.3746185302734375, 0.56177681684494019, 0.46285349130630493, 0.0012500293087214231, -0.39138031005859375, -0.16453325748443604, -0.21607722342014313, 0.11611524224281311, 0.53130775690078735, 0.95173639059066772, 0.90989142656326294, 0.42165583372116089, 0.25256696343421936, 0.07198651134967804, -0.012061361223459244, -0.14350351691246033, 0.16696199774742126, 0.50060319900512695, 0.41183120012283325, 0.31214800477027893, -0.086258724331855774, -0.60928773880004883, -0.37456023693084717, 0.18280105292797089, 0.45793968439102173, 0.43967929482460022, -0.14747688174247742, -0.81743770837783813, -1.0620158910751343, -0.75652337074279785, 0.1192890852689743, 0.68813234567642212, 0.15559776127338409, -0.32934069633483887, 0.53558057546615601, 1.2002332210540771, 0.92782139778137207, -0.74203634262084961, -1.1172918081283569, -0.31597104668617249, 0.4137880802154541, 0.18557871878147125, 0.070195063948631287, 0.30007150769233704, -0.36801442503929138, -1.0953130722045898, -1.1981947422027588, -0.3187699019908905, 0.1524806022644043, -0.64997059106826782, -1.4242498874664307, -1.3182111978530884, -0.19036182761192322, 0.50616264343261719, 0.26890161633491516, 0.28973177075386047, 0.39589712023735046, -0.0073799677193164825, -0.7105867862701416, -0.39167517423629761, 0.54052537679672241, 1.0250158309936523, 0.16827008128166199, -0.39167109131813049, -0.38054081797599792, 0.097898416221141815, 0.42191120982170105, 0.15684626996517181, 0.22904476523399353, 0.061693169176578522, 0.10243798792362213, 0.4431164562702179, 0.86756986379623413, 0.7475009560585022, -0.3740871250629425, -0.98289668560028076, -0.73805540800094604, 0.045968495309352875, -0.042499445378780365, -0.72777551412582397, -0.71672505140304565, -0.2271897941827774, 0.31889227032661438, 0.61403441429138184, 0.86371761560440063, 0.80451053380966187, 0.44633188843727112, -0.15527835488319397, -0.58844780921936035, -0.70242273807525635, -0.43339666724205017, 0.20195072889328003, 0.3885948657989502, 0.40818583965301514, 0.40174800157546997, 0.50442790985107422, 0.94401770830154419, 1.0290111303329468, 0.47829654812812805, -0.32474741339683533, -0.44954794645309448, 0.017569612711668015, -0.014459012076258659, -0.86259949207305908, -1.1957504749298096, -0.159969761967659, 0.91584593057632446, 0.70840209722518921, -0.25232478976249695, -1.0270572900772095, -1.2602294683456421, -1.4741851091384888, -1.7560250759124756, -1.5210932493209839, -0.81501567363739014, 0.064053148031234741, 0.62810605764389038, 0.51543599367141724, 0.13677901029586792, -0.039648070931434631, 0.14491941034793854, 0.8137621283531189, 0.86607873439788818, 0.61493605375289917, 0.21756605803966522, 0.17369990050792694, 0.11424253135919571, -0.5736498236656189, -1.1996170282363892, -1.3088338375091553, -0.69552189111709595, 0.39241513609886169, 0.65906131267547607, 0.092680729925632477, -0.48015248775482178, -0.75188982486724854, -0.14553113281726837, 0.39332196116447449, 0.3243657648563385, -0.23006786406040192, -0.77762913703918457, -0.78416097164154053, -0.46629577875137329, -0.25981944799423218, -0.36845523118972778, -0.80798780918121338, -1.0337480306625366, -0.88870775699615479, 0.070539854466915131, 1.0893871784210205, 1.0517222881317139, -0.055871546268463135, -1.0855468511581421, -1.2262722253799438, -0.42037150263786316, 0.11565942317247391, 0.21271534264087677, 0.60099691152572632, 0.67245602607727051, 0.44752988219261169, 0.14117681980133057, 0.068735696375370026, 0.53701114654541016, 0.90725284814834595, 0.3437684178352356, -0.46191072463989258, -0.60788244009017944, -0.17937906086444855, 0.33631712198257446, 0.28975751996040344, 0.24111859500408173, 0.090797446668148041, -0.38382932543754578, -0.75219351053237915, -0.36014804244041443, 0.43157082796096802, 0.38712835311889648, 0.53985238075256348, -0.010481365025043488, 0.0047759255394339561, -0.43087849020957947, -0.68572652339935303, -0.50414419174194336, -0.63066750764846802, -0.52368730306625366, -0.46854308247566223, -0.41789165139198303, -0.40189099311828613, -0.15981587767601013, -0.096341155469417572, -0.54561817646026611, -0.74442696571350098, 0.073868207633495331, 1.2276530265808105, 1.9870264530181885, 0.71003305912017822, -0.46909970045089722, -0.47000640630722046, 0.7052992582321167, 1.1946048736572266, 1.0680274963378906, 0.061450272798538208, -0.17078232765197754, -0.096338644623756409, -0.22779072821140289, -0.63172852993011475, -0.98894840478897095, -0.86498415470123291, -0.80999112129211426, -0.65437555313110352, -0.60178625583648682, 0.042404551059007645, 0.47565516829490662, 0.60673415660858154, 0.3806484043598175, -0.5424848198890686, -1.2375196218490601, -0.76342761516571045, 0.027747580781579018, 0.58789372444152832, 0.56875872611999512, 0.40611308813095093, 0.763172447681427, 1.1728678941726685, 0.6106685996055603, -0.54780328273773193, -1.055976390838623, -0.3816312849521637, 0.25974276661872864, 0.3144470751285553, -0.19355779886245728, -0.74754303693771362, -0.82764744758605957, -0.5855223536491394, -0.40619716048240662, -0.18352623283863068, 0.035497520118951797, 0.067928008735179901, 0.32842439413070679, 0.69640851020812988, 1.1775915622711182, 1.0326037406921387, 0.4116041362285614, -0.18453802168369293, -0.1758144348859787, 0.53529995679855347, 0.504771888256073, -0.81907647848129272, -1.7652072906494141, -1.7823699712753296, -0.31080177426338196, 0.5814056396484375, 0.74601650238037109, 0.35198774933815002, 0.21949298679828644, -0.12130357325077057, -0.51934540271759033, -0.44488653540611267, 0.46380603313446045, 1.0068418979644775, 0.94809341430664063, 0.57236403226852417, 0.4874228835105896, -0.23126661777496338, -1.0981968641281128, -1.2871379852294922, -0.57433897256851196, 0.11460933089256287, -0.41004011034965515, -0.96514391899108887, -0.38790795207023621, -0.22173246741294861, 0.081387974321842194, 0.35219448804855347, 0.30148139595985413, 0.43868732452392578, -0.132369264960289, -0.89884310960769653, -1.1795480251312256, -0.80533671379089355, 0.18292638659477234, 0.57384246587753296, 0.43237578868865967, 0.20914238691329956, 0.35182058811187744, 0.53278183937072754, 0.67161059379577637, 0.50263434648513794, 0.24786591529846191, 0.078953474760055542, -0.094714745879173279, -0.30297604203224182, -0.23438780009746552, -0.30784407258033752, -0.14282603561878204, -0.23229765892028809, 0.35444211959838867, 0.80639094114303589, 0.48897910118103027, 0.040996421128511429, -0.18718065321445465, 0.051368560642004013, 0.21161931753158569, 0.084700062870979309, -0.24993918836116791, 0.037350006401538849, 0.63285243511199951, 1.0490868091583252, 0.35588571429252625, -0.82583492994308472, -0.87315595149993896, -0.031494464725255966, 0.747150719165802, 0.81371903419494629, 0.26000982522964478, 0.32359382510185242, 0.36650082468986511, 0.13688206672668457, 0.043643146753311157, 0.76166081428527832, 1.3352646827697754, 0.48756539821624756, -1.0476384162902832, -1.7214146852493286, -1.3213435411453247, -0.59604573249816895, -0.16054198145866394, -0.010615142062306404, -0.15471655130386353, 0.20429715514183044, 0.82090598344802856, 1.3660306930541992, 1.0811853408813477, -0.22516374289989471, -1.1435611248016357, -1.2011593580245972, -0.77917122840881348, -0.60959702730178833, -0.048111997544765472, 1.0172845125198364, 0.84632670879364014, 0.19858540594577789, -0.11869651824235916, 0.053812399506568909, 0.35461798310279846, -0.13852101564407349, -0.82292687892913818, -0.7900848388671875, -0.73590332269668579, -0.52683925628662109, -0.085857465863227844, 0.25075629353523254, 0.27077451348304749, 0.154084712266922, 0.3338659405708313, 0.10243609547615051, 0.20194873213768005, 0.64350157976150513, 0.62154227495193481, 0.31217727065086365, -0.37460064888000488, -1.0610971450805664, -0.89269554615020752, -0.46406722068786621, -0.1108487993478775, 0.050679638981819153, 0.267628014087677, 0.38112282752990723, 0.33807599544525146, 0.04447077214717865, -0.0024716642219573259, 0.28937652707099915, 0.21039831638336182, 0.019359322264790535, -0.22895628213882446, 0.73511636257171631, 1.2892419099807739, 0.60550576448440552, -0.11422973126173019, -0.012372679077088833, 0.5006900429725647, 0.63084268569946289, 0.19892390072345734, -0.096475422382354736, 0.5549464225769043, 1.2360153198242187, 1.3841977119445801, 0.6956937313079834, -0.80496805906295776, -1.6335486173629761, -1.3989485502243042, 0.1544574499130249, 0.75711381435394287, 0.48314064741134644, -0.049539890140295029, -0.56951439380645752, -0.92989444732666016, -1.1155273914337158, -0.59495335817337036, -0.048860810697078705, 0.16576109826564789, -0.31924691796302795, -0.6872868537902832, -0.5916907787322998, -0.37200835347175598, 0.22101280093193054, 0.20127838850021362, 0.46607068181037903, 0.55970054864883423, 0.29614195227622986, 0.48582842946052551, 0.56051027774810791, 0.88019520044326782, 1.143607497215271, 0.95766329765319824, 0.56359553337097168, 0.35786566138267517, 0.55245351791381836, 0.5181586742401123, 0.021758401766419411, -0.031039297580718994, 0.47542744874954224, 1.0583293437957764, 1.2965255975723267, 0.72949665784835815, -0.052095822989940643, -0.50824475288391113, -0.30518075823783875, 0.084597207605838776, 0.13243643939495087, 0.42593961954116821, 0.8194306492805481, 1.4024097919464111, 1.2601000070571899, 1.0482717752456665, 0.54281133413314819, 0.17000515758991241, -0.55275040864944458, -0.44598788022994995, 0.072760291397571564, 0.68600010871887207, 0.3252016007900238, -0.18007008731365204, -0.28832849860191345, -0.13091619312763214, -0.15438549220561981, -0.4984954297542572, -0.31147560477256775, -0.12032554298639297, -0.61713385581970215, -1.4631223678588867, -1.8364794254302979, -1.613785982131958, -1.2277742624282837, -1.2267618179321289, -1.2829856872558594, -0.96381568908691406, -0.7596859335899353, -0.39527919888496399, 0.21367739140987396, 0.41677874326705933, 0.44963264465332031, -0.34218335151672363, -1.1034051179885864, -0.8310856819152832, 0.7412642240524292, 1.6579509973526001, 0.28884270787239075, -0.7103542685508728, -0.78671997785568237, -0.18219020962715149, 0.018206311389803886, -0.0061965659260749817, 0.18284261226654053, -0.33246353268623352, -0.92894375324249268, -1.4722427129745483, -0.65825223922729492, 0.021701699122786522, 0.063830442726612091, -0.12327096611261368, 0.050263632088899612, 0.72883689403533936, 0.66250455379486084, 0.11351333558559418, 0.15048059821128845, 0.97241014242172241, 1.5593852996826172, 1.8545284271240234, 1.38443922996521, 0.16420912742614746, -0.39368739724159241, -0.83539086580276489, -0.83202046155929565, -0.44409558176994324, 0.029938811436295509, -0.14073726534843445, -0.55017334222793579, -0.64635646343231201, -0.28409403562545776, 0.2147146612405777, -0.1749420166015625, -0.43248242139816284, 0.034654751420021057, 0.82857489585876465, 0.78373831510543823, 0.0080729443579912186, -1.0209659337997437, -0.92277467250823975, -0.68713271617889404, 0.011834579519927502, 0.019675442948937416, -0.053053349256515503, 0.55762755870819092, 1.0306915044784546, 0.84674835205078125, 0.1429646760225296, -0.057435989379882813, 0.24500377476215363, 0.6022905707359314, -0.2830844521522522, -1.2450553178787231, -1.8130886554718018, -1.2980175018310547, -0.42142194509506226, -0.3086504340171814, -0.6305968165397644, -0.90612524747848511, -0.55062288045883179, 0.38018938899040222, 0.74727702140808105, 0.23629622161388397, -0.1003425121307373, -0.064315229654312134, 0.41584512591362, 0.18329313397407532, 0.16936054825782776, -0.069058366119861603, -0.41084703803062439, -0.61819428205490112, -0.62639546394348145, -0.3521001935005188, 0.078908517956733704, 0.02123638428747654, -0.57330864667892456, -1.1761243343353271, -1.6756753921508789, -1.856658935546875, -1.5195481777191162, -1.2051986455917358, -0.63683801889419556, 0.13014532625675201, 0.71304500102996826, 0.62661051750183105, -0.28603348135948181, -1.0130192041397095, -1.3925786018371582, -1.2814254760742187, -0.41996371746063232, 0.44589951634407043, 0.8682020902633667, -0.38934400677680969, -1.2279590368270874, -0.064837910234928131, 1.3920830488204956, 1.1240756511688232, 0.0739331915974617, -0.39190775156021118, -0.10949182510375977, 0.36351022124290466, -0.071402475237846375, -0.87817519903182983, -1.3564037084579468, -0.71798348426818848, -0.037153851240873337, 0.5049470067024231, 0.69621527194976807, 0.81865876913070679, 0.70035862922668457, 0.42857515811920166, 0.19264711439609528, 0.21053133904933929, -0.10420866310596466, -0.67147791385650635, -0.48312002420425415, 0.17233425378799438, 0.21694393455982208, -0.73052668571472168, -1.0915778875350952, -0.77001917362213135, -0.030584769323468208, 0.73207110166549683, 1.03834068775177, 0.98571062088012695, 0.23021900653839111, -1.0306868553161621, -1.3697066307067871, 0.032812811434268951, 1.3351927995681763, 1.5714725255966187, 0.33791488409042358, -0.30897337198257446, -0.7683148980140686, -0.60113757848739624, -0.42011663317680359, -0.44469982385635376, -0.0068523641675710678, 0.79849845170974731, 1.1609985828399658, 0.43172141909599304, -0.66912841796875, -0.080474510788917542, 1.233302116394043, 1.1386975049972534, 0.038571085780858994, -1.0364885330200195, -0.89166063070297241, 0.031317524611949921, 0.70543551445007324, 0.44426208734512329, -0.13414432108402252, -0.36856883764266968, -0.43259432911872864, -0.15824685990810394, -0.51320230960845947, -0.75194919109344482, -0.6271740198135376, 0.11830861121416092, 0.17177502810955048, -0.010765033774077892, -0.20158477127552032, -0.45494666695594788, -0.18356519937515259, -0.24773263931274414, -0.26241388916969299, -0.47178837656974792, -0.78666234016418457, -1.0492914915084839, -0.76915603876113892, -0.43830934166908264, 0.014923620969057083, 0.015616272576153278, 0.47147673368453979, 0.5125536322593689, 0.43199732899665833, 0.36970144510269165, 0.27391007542610168, 0.39257967472076416, 0.067088104784488678, -0.15643399953842163, -0.020144466310739517, -0.61152958869934082, -0.98705106973648071, -0.47959405183792114, 0.25372251868247986, 0.6848340630531311, 0.086885944008827209, -1.1920778751373291, -1.8476855754852295, -1.3147825002670288, -0.29687562584877014, 0.35773122310638428, -0.24997113645076752, -0.99918442964553833, -0.78689312934875488, 0.24732851982116699, 0.91400361061096191, -0.21712496876716614, -1.6687201261520386, -1.5717430114746094, -0.23754897713661194, 0.74043357372283936, 0.45521315932273865, -0.39638108015060425, -0.44847139716148376, -0.44465291500091553, -0.74889737367630005, -1.0202821493148804, -0.90788781642913818, -0.83959347009658813, -0.60432976484298706, -0.51870250701904297, -0.44120752811431885, -0.41000708937644958, -0.29492387175559998, 0.38241294026374817, 0.8601568341255188, 0.7226259708404541, -0.83804643154144287, -2.0593817234039307, -1.6381815671920776, 0.52225083112716675, 1.9355332851409912, 1.088559627532959, -0.80294519662857056, -1.2067921161651611, -0.24599841237068176, 0.68804061412811279, 0.050636667758226395, -0.60481411218643188, -0.92201101779937744, -0.81375139951705933, -0.48336008191108704, 0.1555802971124649, 0.88258665800094604, 0.94228023290634155, 0.21963539719581604, -0.50489503145217896, -1.1631933450698853, -0.91218829154968262, -0.11557308584451675, 0.71755892038345337, 0.50771409273147583, -0.0052092708647251129, -0.55134022235870361, 0.04039311408996582, 0.85354310274124146, 0.54347378015518188, -0.45262435078620911, -0.82164645195007324, -0.40747204422950745, -0.40587466955184937, -0.59079688787460327, -0.30848243832588196, 0.43995240330696106, 0.62619322538375854, -0.14097380638122559, -1.4394562244415283, -1.5081638097763062, -1.3720842599868774, -0.73331606388092041, -0.04166792705655098, 1.2108559608459473, 1.5556043386459351, 0.79371881484985352, -0.15172548592090607, -0.085083499550819397, 0.68731164932250977, 1.0853549242019653, 0.41492557525634766, 0.017388762906193733, -0.23043107986450195, -0.16549941897392273, -0.66964507102966309, -0.16167782247066498, 0.20526035130023956, -0.19088749587535858, -0.72538721561431885, -0.3030109703540802, 0.96983093023300171, 1.235871434211731, 0.27375140786170959, -0.43170955777168274, 0.1873888224363327, 0.86195856332778931, 0.44615933299064636, -0.096875801682472229, -0.11096636205911636, 0.27101272344589233, 0.30445593595504761, -0.65460312366485596, -0.37656199932098389, 0.10888456553220749, 0.13374181091785431, -0.41310775279998779, -0.90808910131454468, -0.38931405544281006, 0.55678248405456543, 0.53201884031295776, 0.80014681816101074, 1.0436172485351562, 1.4190341234207153, 1.061171293258667, 0.022604372352361679, -0.46003851294517517, -0.036802340298891068, 0.12164216488599777, -0.26311418414115906, -0.093655534088611603, 0.67648357152938843, 0.97039663791656494, 0.69685196876525879, -0.037883024662733078, -0.20310203731060028, -0.24549670517444611, 0.1991383284330368, 0.55452620983123779, 0.87844973802566528, 0.30821290612220764, -0.23294109106063843, 0.9172821044921875, 1.9259282350540161, 1.2071924209594727, 0.16750173270702362, -0.20565599203109741, 0.43625110387802124, 0.82959359884262085, 1.0115175247192383, 1.2716516256332397, 0.73166894912719727, -0.22023256123065948, -1.1997618675231934, -1.4615906476974487, -0.91977572441101074, -0.48561835289001465, -0.49646365642547607, 0.13344240188598633, 1.0723408460617065, 1.3497756719589233, 1.1397930383682251, 0.38946172595024109, 0.029036778956651688, 0.1709204763174057, 0.02089342288672924, -0.24215689301490784, -0.41286063194274902, -0.3380272388458252, 0.032915223389863968, -0.19755382835865021, -0.52225971221923828, -0.49886599183082581, -0.063869908452033997};
const double e_lms[] = {-0.0486912801861763, 0.081184938549995422, 0.2565443217754364, -0.114608034491539, 0.0055444296449422836, -0.16770769655704498, 0.13933919370174408, 0.17950582504272461, -0.16825683414936066, 0.1257525235414505, -0.087683007121086121, 0.1666402667760849, 0.0042425058782100677, -0.18503883481025696, 0.34941491484642029, 0.97377175092697144, 0.55814051628112793, -0.32200941443443298, -0.20797789096832275, -0.11885834485292435, -0.58384180068969727, -1.0407708883285522, 0.14737303555011749, 2.2024171352386475, 2.5044023990631104, 1.3627135753631592, 0.46342098712921143, 0.7723357081413269, 0.90020155906677246, 0.35903957486152649, -0.56104397773742676, -0.70760941505432129, 0.35956159234046936, 1.1396257877349854, 1.1209709644317627, 0.33244225382804871, -0.51949882507324219, -0.21732069551944733, 0.68318486213684082, 1.2863404750823975, 0.88542312383651733, 0.28241920471191406, -0.22748501598834991, -0.30187910795211792, -0.34317436814308167, 0.051138967275619507, 0.1381574422121048, -0.54410052299499512, -0.93326473236083984, -1.1133029460906982, -0.51404035091400146, 0.09174790233373642, 0.29372712969779968, -0.078231312334537506, -0.26296365261077881, -0.11424469947814941, 0.029941415414214134, 0.41034647822380066, 0.45472684502601624, -0.20551504194736481, -0.21973146498203278, -0.10737228393554688, 0.26394981145858765, 0.35190212726593018, 0.44637945294380188, 0.43900442123413086, -0.15417782962322235, -0.63614082336425781, -0.83561974763870239, -0.43977928161621094, 0.24049924314022064, 0.32053610682487488, 0.0035891125444322824, -0.2120942622423172, -0.0194057896733284, -0.08130326122045517, -0.25325900316238403, -0.25165197253227234, 0.6033896803855896, 0.74884182214736938, 0.30478811264038086, -0.33682805299758911, -0.51667696237564087, -0.26593372225761414, 0.17183671891689301, 0.33814439177513123, -0.27547407150268555, -0.090738199651241302, 0.15204644203186035, -0.078755751252174377, -0.68415433168411255, -0.72968465089797974, -0.41014286875724792, 0.081638723611831665, 0.019083064049482346, 0.010922783054411411, 0.32122737169265747, 0.31905588507652283, 0.31759577989578247, 0.29019027948379517, 0.28684577345848083, 0.15535783767700195, 0.33496561646461487, 0.06923811137676239, 0.018429163843393326, -0.40110033750534058, -0.050830252468585968, 0.35393360257148743, 0.65511643886566162, 0.23818579316139221, 0.10479743033647537, 0.038369685411453247, -0.27013114094734192, -0.32140570878982544, -0.15405274927616119, -0.31150844693183899, -0.18143869936466217, -0.045882415026426315, 0.0016750177601352334, 0.11191023886203766, -0.028141433373093605, -0.099161006510257721, 0.22126513719558716, 0.53864419460296631, 0.26889470219612122, -0.050097893923521042, -0.46442043781280518, -0.15481679141521454, 0.01032050047069788, -0.30713191628456116, -0.14677050709724426, 0.25862541794776917, 0.25831586122512817, -0.14715135097503662, -0.12925265729427338, 0.20281235873699188, 0.56065148115158081, 0.4950985312461853, -0.04736047238111496, -0.089564129710197449, 0.35003721714019775, 0.19967086613178253, 0.26998606324195862, -0.094484515488147736, -0.085632443428039551, -0.28483748435974121, -0.1893632560968399, -0.042813863605260849, 0.14260803163051605, 0.23847335577011108, 0.070848859846591949, 0.3923487663269043, 0.0085330987349152565, 0.21273544430732727, 0.58032780885696411, 0.044178936630487442, 0.0088860737159848213, -0.29716098308563232, -0.040697064250707626, -0.054342698305845261, 0.0089992694556713104, -0.11450201272964478, -0.14338921010494232, -0.040698204189538956, -0.22901958227157593, -0.11933598667383194, -0.013784259557723999, -0.15927529335021973, 0.026575768366456032, 0.10917157679796219, 0.10051234811544418, -0.0052682748064398766, -0.042182523757219315, 0.12735532224178314, 0.29299002885818481, 0.087226919829845428, 0.056324772536754608, -0.24990534782409668, 0.40626376867294312, 0.41014495491981506, 0.14919291436672211, -0.081653058528900146, -0.15938243269920349, 0.051083650439977646, 0.15293711423873901, 0.050735745579004288, -0.31428641080856323, -0.52946174144744873, -0.17983709275722504, -0.081196494400501251, 0.051546551287174225, 0.11756515502929688, -0.064739994704723358, 0.1662411242723465, 0.056965313851833344, -0.14525038003921509, 0.18523339927196503, -0.0039048148319125175, -0.14938095211982727, 0.14284597337245941, 0.23872563242912292, 0.077302701771259308, 0.072941437363624573, -0.023143036291003227, -0.016234163194894791, -0.081943988800048828, -0.14973030984401703, 0.080659583210945129, -0.020160006359219551, 0.090883903205394745, 0.040583793073892593, 0.0099044507369399071, 0.071530260145664215, -0.027837600558996201, 0.12105867266654968, 0.091932319104671478, 0.094596773386001587, -0.11084616929292679, -0.012331350706517696, 0.071578778326511383, -0.012458932586014271, 0.17518290877342224, 0.11296266317367554, -0.1476944237947464, -0.070892535150051117, 0.052860639989376068, 0.041914656758308411, 0.14568167924880981, 0.079029075801372528, -0.014372914098203182, -0.067291110754013062, -0.11125101149082184, -0.030833490192890167, 0.20223507285118103, 0.088157095015048981, 0.0095122586935758591, 0.3190995454788208, 0.21577693521976471, 0.46359312534332275, -0.020981721580028534, 0.083077989518642426, 0.22014783322811127, 0.4171588122844696, 0.12574741244316101, -0.058113116770982742, 0.084230400621891022, -0.13089673221111298, -0.12132486701011658, -0.10383602231740952, 0.036658037453889847, 0.0051200850866734982, -0.088155761361122131, -0.031612157821655273, -0.048401057720184326, 0.11621899902820587, 0.19987644255161285, 0.067036397755146027, -0.011926266364753246, 0.0059772254899144173, 0.11114132404327393, 0.17937915027141571, 0.14145490527153015, 0.048003144562244415, 0.10418447107076645, 0.054171845316886902, 0.17132481932640076, 0.052844967693090439, -0.10269670933485031, 0.30029511451721191, 0.10773610323667526, 0.21781092882156372, -0.043517932295799255, 0.019057650119066238, 0.10199419409036636, -0.0079648448154330254, -0.0082012321799993515, -0.083129703998565674, -0.022529667243361473, -0.16686329245567322, 0.069502077996730804, 0.095253825187683105, -0.1021074652671814, -0.075448773801326752, 0.023460382595658302, 0.18272672593593597, 0.067347154021263123, 0.042595311999320984, -0.040740650147199631, -0.011461872607469559, 0.085738055408000946, 0.10188163071870804, -0.039241265505552292, -0.10089331120252609, 0.064038388431072235, 0.071408376097679138, 0.05672396719455719, -0.0076180421747267246, 0.0069408714771270752, 0.086549960076808929, 0.076338589191436768, 0.071701504290103912, 0.021042954176664352, 0.040409095585346222, 0.015649178996682167, 0.030020823702216148, -0.010972914285957813, -0.045634668320417404, 0.11543953418731689, 0.20107428729534149, -0.051306731998920441, -0.026796802878379822, -0.18082724511623383, -0.33689504861831665, -0.37547054886817932, -0.32896116375923157, -0.064400672912597656, -0.13638322055339813, -0.040235396474599838, 0.11079038679599762, 0.0065339081920683384, -0.052109748125076294, 0.063344687223434448, 0.098875969648361206, 0.37390971183776855, 0.11065539717674255, 0.052148830145597458, -0.066763371229171753, -0.017722353339195251, 0.039162483066320419, -0.1274150013923645, -0.0561981201171875, 0.016693634912371635, -0.15512816607952118, 0.088920809328556061, 0.17079049348831177, 0.14076490700244904, 0.11413628607988358, -0.25970932841300964, -0.15163858234882355, 0.041634697467088699, 0.081663571298122406, 0.064214542508125305, 0.029234137386083603, 0.12121517956256866, 0.073504030704498291, -0.11322315782308578, -0.059771694242954254, 0.0074347150512039661, 0.06315324455499649, -0.013484232127666473, 0.027592876926064491, 0.062429893761873245, 0.014452622272074223, -0.0030716042965650558, 0.035992112010717392, -0.14052636921405792, 0.019334431737661362, 0.066193133592605591, -0.0082444613799452782, 0.16255047917366028, 0.068727582693099976, 0.027736937627196312, 0.056190043687820435, -0.048247348517179489, 0.0057552047073841095, 0.11521337926387787, -0.0039092358201742172, -0.00069306464865803719, 0.15962499380111694, 0.12073437124490738, 0.11934223771095276, -0.13599736988544464, -0.031460553407669067, 0.072479255497455597, -0.0092477118596434593, -0.18676063418388367, -0.15622889995574951, 0.093794673681259155, -0.073345020413398743, 0.20652905106544495, -0.19222067296504974, 0.10353568196296692, -0.038536779582500458, -0.11787384003400803, 0.029911404475569725, -0.12261256575584412, 0.07451406866312027, -0.010349394753575325, -0.199781134724617, -0.26893821358680725, -0.010498921386897564, 0.14353746175765991, 0.020650234073400497, -0.026088209822773933, 0.0084678130224347115, -0.072313480079174042, 0.18821300566196442, -0.054082181304693222, -0.0053467941470444202, -0.054582592099905014, 0.013086122460663319, -0.13460360467433929, 0.091233253479003906, 0.014546360820531845, 0.1576506495475769, 0.17953936755657196, 0.018628630787134171, -0.043476630002260208, -0.19731107354164124, 0.0065126563422381878, -0.017917374148964882, 0.086935743689537048, -0.13099011778831482, 0.092831261456012726, -0.00089719932293519378, -0.043870378285646439, 0.13188953697681427, 0.039621919393539429, -0.0054211374372243881, 0.16765820980072021, 0.015958959236741066, -0.033656977117061615, 0.020194554701447487, -0.016863241791725159, 0.062187254428863525, 0.092679724097251892, 0.048553574830293655, -0.080343142151832581, 0.0081010609865188599, 0.12395909428596497, -0.03120134025812149, -0.15055008232593536, 0.026090238243341446, -0.062254112213850021, -0.04993126168847084, 0.040048494935035706, 0.006201151292771101, -0.041570805013179779, -0.037636756896972656, -0.14141741394996643, -0.079777620732784271, -0.10974365472793579, -0.020896298810839653, -0.14273080229759216, -0.079272538423538208, -0.071052953600883484, -0.15761049091815948, 0.036874577403068542, 0.058504760265350342, -0.079063661396503448, 0.0080965971574187279, -0.25430354475975037, -0.10690966993570328, -0.083143256604671478, 0.010178753174841404, -0.15424142777919769, -0.023095699027180672, -0.049767911434173584, -0.14626052975654602, -0.17650637030601501, -0.0044307722710072994, 0.24880829453468323, 0.13438396155834198, -0.078345656394958496, -0.016458997502923012, 0.013292340561747551, -0.0469711534678936, -0.10569103062152863, -0.2109047919511795, 0.0076028225012123585, -0.16319309175014496, -0.19546832144260406, 0.26372683048248291, 0.0016816452844068408, 0.047758355736732483, 0.16770187020301819, -0.20361033082008362, 0.044726233929395676, 0.024789707735180855, 0.0073636788874864578, 0.02051197923719883, -0.06038111075758934, 0.051443584263324738, -0.080317839980125427, -0.066410884261131287, 0.05799546092748642, 0.1613701730966568, -0.024236766621470451, -0.047841642051935196, 0.033248890191316605, 0.094779059290885925, 0.025705466046929359, 0.042867373675107956, -0.074607051908969879, 0.079489521682262421, 0.015219547785818577, 0.1104670837521553, -0.20305792987346649, 0.072828821837902069, 0.14818874001502991, -0.0014558659167960286, -0.039191324263811111, -0.068346574902534485, -0.02759811095893383, -0.013936972245573997, -0.022812571376562119, -0.13551868498325348, -0.018535120412707329, -0.093750059604644775, -0.011677942238748074, -0.052732668817043304, -0.034077413380146027, 0.31846264004707336, 0.33721190690994263, 0.1674770712852478, 0.16747404634952545, -0.098264351487159729, -0.041127655655145645, -0.069814980030059814, 0.091340668499469757, 0.044140305370092392, -0.0045201950706541538, -0.00054172874661162496, -0.1311490386724472, -0.085022754967212677, 0.12753404676914215, 0.029898587614297867, 0.019432405009865761, 0.1281798928976059, 0.059577781707048416, -0.12739177048206329, -0.046118468046188354, -0.060379359871149063, -0.11063544452190399, -0.014991527423262596, -0.022203708067536354, 0.0091443788260221481, -0.12867394089698792, 0.0045693968422710896, -0.20222459733486176, -0.24794624745845795, 0.041794050484895706, -0.034299321472644806, 0.12534539401531219, 0.19431136548519135, -0.019214024767279625, 0.1347203403711319, 0.036857824772596359, -0.13073018193244934, -0.012623511254787445, 0.017551064491271973, 0.0026448133867233992, 0.12355902045965195, 0.12071613967418671, 0.050855312496423721, -0.0067264237441122532, 0.027167603373527527, -0.20399117469787598, -0.12203520536422729, 0.054252259433269501, 0.032295465469360352, 0.0088682146742939949, 0.15852516889572144, -0.090670943260192871, -0.15191489458084106, -0.057792991399765015, 0.04949796199798584, -0.0084316609427332878, -0.085324726998806, -0.18137308955192566, -0.025108769536018372, 0.0012132026022300124, -0.048326026648283005, -0.045196108520030975, -0.088899686932563782, 0.060148995369672775, -0.20170389115810394, 0.012473179027438164, 0.0504639632999897, -0.065871283411979675, -0.050771847367286682, 0.0034727919846773148, -0.016154693439602852, 0.049635417759418488, -0.018896868452429771, -0.085060141980648041, 0.054249681532382965, 0.017507852986454964, 0.1349198967218399, 0.027733229100704193, -0.12457927316427231, 0.009166959673166275, -0.26119294762611389, 0.16002348065376282, 0.084931708872318268, 0.038191203027963638, -0.059686817228794098, -0.17047841846942902, -0.097383901476860046, 0.0014344047522172332, 0.23747436702251434, 0.050631757825613022, 0.020579108968377113, -0.0204207394272089, 0.099912077188491821, 0.12314925342798233, -0.049090918153524399, 0.16185417771339417, -0.15917737782001495, -0.02711905911564827, 0.050288829952478409, -0.1965101957321167, 0.1209389790892601, 0.049150075763463974, -0.038278903812170029, 0.094336777925491333, 0.086216285824775696, 0.065662696957588196, -0.047531023621559143, 0.0080062095075845718, 0.036868661642074585, -0.078901924192905426, -0.11957993358373642, -0.040014099329710007, 0.042348712682723999, 0.19426403939723969, 0.054806780070066452, -0.033525887876749039, -0.080268144607543945, 0.12735089659690857, 0.33268776535987854, 0.023513155058026314, -0.076784603297710419, -0.13886673748493195, 0.11850863695144653, 0.04853130504488945, 0.12500657141208649, -0.076210632920265198, -0.022969648241996765, -0.091409951448440552, 0.079031884670257568, -0.12220416963100433, 0.025349713861942291, -0.038301136344671249, 0.14198490977287292, 0.062591888010501862, -0.097348138689994812, -0.065325729548931122, -0.11451329290866852, 0.087579935789108276, 0.080850489437580109, -0.13600048422813416, -0.19261902570724487, -0.006383910309523344, 0.091443479061126709, -0.0063209389336407185, -0.15467199683189392, -0.054988041520118713, 0.12952591478824615, -0.0089368829503655434, -0.032874871045351028, 0.106902115046978, -0.050126791000366211, 0.081969007849693298, 0.079339161515235901, 0.063868135213851929, -0.1536223292350769, -0.020604932680726051, 0.30530893802642822, -0.10013357549905777, 0.069834142923355103, -0.0068338103592395782, -0.086046613752841949, -0.1053876057267189, 0.032772611826658249, 0.22486849129199982, -0.048880141228437424, 0.11725199222564697, -0.030499938875436783, 0.16873905062675476, 0.056163523346185684, -0.14350506663322449, 0.018193511292338371, -0.011465666815638542, 0.12828356027603149, -0.056427787989377975, -0.038191813975572586, -0.018582526594400406, 0.1467503160238266, -0.1166815459728241, -0.026441793888807297, 0.13408184051513672, -0.18275758624076843, 0.075331360101699829, 0.07550426572561264, 0.016343003138899803, -0.11359508335590363, -0.025493793189525604, 0.036224827170372009, 0.10160786658525467, 0.12172331660985947, -0.062866128981113434, 0.20838885009288788, 0.038123037666082382, -0.088002875447273254, -0.039730072021484375, 0.12708559632301331, 0.027316976338624954, 0.070933699607849121, 0.023731296882033348, 0.185893714427948, -0.17783495783805847, -0.083658330142498016, 0.016466926783323288, -0.0072227632626891136, 0.16006001830101013, 0.0921129509806633, 0.026041310280561447, 0.058553609997034073, 0.019637882709503174, -0.033786073327064514, 0.044403675943613052, -0.068073973059654236, -0.020820677280426025, -0.086235880851745605, -0.1305249035358429, 0.050686825066804886, -0.087106086313724518, -0.12863053381443024, -0.11749819666147232, -0.28870850801467896, 0.010881152935326099, 0.13353548943996429, -0.012491499073803425, -0.031690999865531921, -0.063696160912513733, 0.17791272699832916, -0.050604749470949173, 0.11489678174257278, 0.025834085419774055, -0.042221508920192719, 0.1738174706697464, 0.15234459936618805, -0.046547219157218933, 0.16029322147369385, 0.20062632858753204, -0.015425721183419228, -0.070331156253814697, 0.087549813091754913, -0.015871575102210045, 0.14450185000896454, -0.03168603777885437, 0.12934428453445435, 0.030875572934746742, 0.02832694910466671, -0.0010559034999459982, -0.15425722301006317, -0.11821597814559937, -0.16948671638965607, -0.15044094622135162, -0.069209650158882141, -0.13750457763671875, 0.21029616892337799, 0.14580580592155457, -0.28507179021835327, -0.14798684418201447, -0.049031220376491547, -0.16835057735443115, 0.0014638325665146112, 0.09081374853849411, -0.01053216215223074, 0.010167744942009449, -0.10144126415252686, -0.10925629734992981, -0.12059200555086136, 0.030923448503017426, -0.057760495692491531, 0.094319120049476624, 0.11290463805198669, 0.044430863112211227, 0.026346329599618912, -0.029686350375413895, -0.14091770350933075, 0.058847766369581223, 0.12438179552555084, -0.065664365887641907, -0.049695469439029694, 0.042587146162986755, 0.061534073203802109, -0.057873081415891647, 0.019869424402713776, 0.04621579498052597, -0.039042852818965912, 0.047806955873966217, -0.058042954653501511, -0.062082678079605103, 0.048599779605865479, 0.11715058237314224, 0.056952852755784988, 0.039406351745128632, -0.16214732825756073, -0.15187530219554901, -0.28576165437698364, 0.076801344752311707, -0.1434621661901474, -0.0086791273206472397, 0.086077593266963959, -0.019527852535247803, -0.06403253972530365, -0.020067770034074783, -0.031887680292129517, 0.024923393502831459, -0.18487823009490967, -0.028136417269706726, 0.039911650121212006, -0.12721171975135803, 0.088385432958602905, 0.047046072781085968, -0.11589664220809937, -0.20523644983768463, 0.056997936218976974, 0.014287407509982586, 0.038035955280065536, 0.095671489834785461, -0.13368542492389679, 0.02793596126139164, -0.074397444725036621, -0.1302044540643692, -0.17449755966663361, 0.11202538013458252, -0.015798164531588554, 0.093643881380558014, 0.13590140640735626, -0.12983672320842743, 0.080298103392124176, -0.0078764623031020164, 0.11420729756355286, 0.10974187403917313, 0.10417524725198746, -0.071218155324459076, -0.0025863633491098881, 0.014501488767564297, 0.30547407269477844, 0.14015954732894897, 0.26460295915603638, -0.027910592034459114, 0.10749449580907822, 0.039488323032855988, -0.095071546733379364, 0.11441174894571304, -0.012868570163846016, -0.11113335192203522, 0.034720215946435928, -0.14310243725776672, -0.24757222831249237, -0.011225968599319458, -0.098480984568595886, -0.073796994984149933, -0.065438419580459595, -0.050882305949926376, -0.059593219310045242, -0.008998003788292408, -0.081179633736610413, -0.16864994168281555, -0.20922417938709259, -0.083536438643932343, 0.082231335341930389, -0.067477092146873474, 0.027762705460190773, 0.066375501453876495, 0.15024659037590027, 0.061775553971529007, -0.062181748449802399, -0.067591898143291473, -0.019030097872018814, -0.072129756212234497, 0.15322001278400421, 0.18848775327205658, 0.04560069739818573, -0.04176335409283638, 0.014737030491232872, -0.10970798879861832, 0.014234787784516811, -0.060760729014873505, 0.0070866178721189499, 0.11664924770593643, 0.011227115988731384, 0.10166797041893005, -0.084760695695877075, 0.050049543380737305, -0.086936630308628082, -0.043999340385198593, 0.019728902727365494, 0.11169154196977615, 0.16272874176502228, 0.1043190062046051, -0.058862939476966858, -0.034566581249237061, -0.24607877433300018, -0.084872297942638397, -0.13287407159805298, 0.0066947601735591888, 0.093441441655158997, 0.019633522257208824, 0.015365323051810265, 0.019996974617242813, 0.065291158854961395, 0.16214454174041748, -0.038552481681108475, 0.073622465133666992, -0.11733528226613998, 0.091992422938346863, -0.01646946556866169, 0.12463080883026123, -0.19095359742641449, 0.014751001261174679, -0.079503633081912994, -0.015613812021911144, 0.093331590294837952, 0.019230393692851067, -0.039049804210662842, 0.050751008093357086, 0.15838100016117096, -0.082950212061405182, -0.065140806138515472, -0.13312341272830963, -0.11708280444145203, -0.047881152480840683, 0.057126399129629135, -0.16344690322875977, 0.0011158357374370098, -0.094191268086433411, 0.1129964143037796, -0.10930728167295456, -0.049419857561588287, -0.14223672449588776, -0.063888721168041229, -0.0027124111074954271, -0.076476424932479858, -0.056232284754514694, 0.055162496864795685, 0.065054677426815033, 0.26212036609649658, -0.0178992860019207, 0.11161419749259949, -0.14980669319629669, 0.10964345186948776, -0.0010891216807067394, -0.052938766777515411, 0.098528042435646057, 0.1076287105679512, 0.077586300671100616, 0.061654221266508102, 0.052789121866226196, -0.080590851604938507, -0.14318791031837463, -0.012991586700081825, -0.025392493233084679, 0.17737174034118652, -0.17539951205253601, -0.047344151884317398, 0.34338688850402832, -0.033236503601074219, 0.23043133318424225, 0.12035536020994186, -0.061850395053625107, -0.011149083264172077, -0.031806610524654388, 0.067364521324634552, 0.087040826678276062, -0.18972641229629517, 0.24152503907680511, 0.059760700911283493, -0.058579433709383011, 0.047225411981344223, 0.047040540724992752, 0.0078093116171658039, 0.094856001436710358, 0.12545040249824524, -0.030932977795600891, -0.084899276494979858, 0.075412340462207794, -0.019846757873892784, 0.13077977299690247, -0.014879132620990276, 0.022439729422330856, -0.043279789388179779, 0.13068629801273346, -0.20599973201751709, 0.044968605041503906, -0.066326752305030823, -0.16615143418312073, 0.15331947803497314, 0.26768764853477478, -0.015334842726588249, 0.021155718713998795, -0.17132763564586639, 0.080721572041511536, -0.049464922398328781, -0.0054780952632427216, 0.13589823246002197, -0.066279329359531403, -0.059867557138204575, -0.022217705845832825, -0.010149030946195126, 0.18603825569152832, 0.10320455580949783, -0.10542697459459305, -0.017018228769302368, -0.0093278475105762482, -0.0064670206047594547, 0.25498175621032715, 0.14789740741252899, 0.0047345939092338085, 0.092663027346134186, -0.0041965516284108162, 0.086092196404933929, 0.14348176121711731, 0.018066678196191788, 0.16946552693843842, 0.13383623957633972, 0.027346836403012276, -0.0080100614577531815, 0.082811705768108368};
const double e_nlms[] = {-0.0486912801861763, 0.082129471004009247, 0.25389871001243591, -0.12328276783227921, 0.009483647532761097, -0.16112907230854034, 0.13887722790241241, 0.17426484823226929, -0.18516160547733307, 0.12614193558692932, -0.06863626092672348, 0.14894156157970428, 0.021852422505617142, -0.22150538861751556, 0.39687511324882507, 0.97255796194076538, 0.52523207664489746, -0.25874251127243042, -0.13875329494476318, -0.034011613577604294, -0.58089983463287354, -1.0839051008224487, 0.14165981113910675, 2.2761850357055664, 2.5549194812774658, 1.55568528175354, 0.88787049055099487, 1.0844041109085083, 1.1281392574310303, 0.55517208576202393, -0.13810832798480988, -0.19132542610168457, 0.72550922632217407, 1.5419012308120728, 1.5535584688186646, 0.78212904930114746, -0.21655896306037903, -0.11626629531383514, 0.8010140061378479, 1.3711611032485962, 1.0938398838043213, 0.61641216278076172, 0.27152672410011292, -0.046386413276195526, -0.24938420951366425, 0.041438527405261993, 0.039490241557359695, -0.82324784994125366, -1.3765066862106323, -1.5894347429275513, -0.68268758058547974, 0.23595342040061951, 0.4966677725315094, 0.018452800810337067, -0.44118538498878479, -0.49871069192886353, -0.27114671468734741, 0.25179946422576904, 0.39354351162910461, -0.39850229024887085, -0.54520332813262939, -0.25480848550796509, 0.47674348950386047, 0.79460835456848145, 0.81293010711669922, 0.51405966281890869, -0.34752064943313599, -0.98769193887710571, -1.1552311182022095, -0.42828860878944397, 0.54767292737960815, 0.53382545709609985, 0.14238888025283813, -0.13518832623958588, 0.17128412425518036, -0.042013455182313919, -0.37306427955627441, -0.18358951807022095, 1.0813515186309814, 1.4623699188232422, 0.64437681436538696, -0.75535428524017334, -1.3500109910964966, -0.68539154529571533, 0.46702507138252258, 0.76127785444259644, 0.094855397939682007, 0.18218721449375153, 0.49144458770751953, -0.010836019180715084, -1.1976068019866943, -1.4032371044158936, -0.73405718803405762, 0.22709421813488007, 0.37572464346885681, 0.35289347171783447, 0.72009003162384033, 0.65961736440658569, 0.57992029190063477, 0.45885190367698669, 0.37400445342063904, 0.4571186900138855, 0.57759994268417358, 0.10171319544315338, -0.61887860298156738, -1.3068832159042358, -0.54993259906768799, 0.73837310075759888, 1.5356248617172241, 0.9583013653755188, 0.23201842606067657, -0.34492626786231995, -0.96012842655181885, -1.1795920133590698, -0.87887692451477051, -0.50532275438308716, -0.21594040095806122, -0.14697964489459991, -0.18799644708633423, -0.11418782919645309, -0.32869720458984375, -0.099110491573810577, 0.87938421964645386, 1.4825806617736816, 0.45382222533226013, -0.85015523433685303, -1.3875745534896851, -0.33664640784263611, 0.27234816551208496, 0.14441944658756256, 0.33669084310531616, 0.71381831169128418, -0.022240534424781799, -1.1037328243255615, -0.81373727321624756, 0.71683341264724731, 1.9228668212890625, 1.3927513360977173, -0.16687874495983124, -0.82499366998672485, -0.12982353568077087, 0.4079730212688446, 0.65475386381149292, -0.080276563763618469, -0.46963998675346375, -1.0576368570327759, -1.0921719074249268, -0.96589088439941406, -0.25267088413238525, 0.1810050755739212, 0.020184645429253578, -0.015393158420920372, -0.22250287234783173, 0.33216351270675659, 0.71492069959640503, -0.11116845905780792, -0.46259155869483948, -0.92576617002487183, -0.80571538209915161, -0.76939791440963745, -0.61216294765472412, -0.87763333320617676, -1.2143275737762451, -0.991721510887146, -0.51888716220855713, 0.33285945653915405, 0.46304547786712646, -0.19885611534118652, -0.31005948781967163, -0.10566938668489456, 0.12745451927185059, 0.042012050747871399, -0.020786352455615997, 0.17160716652870178, 0.16455267369747162, -0.53883713483810425, -0.98461258411407471, -0.83420491218566895, 0.98164629936218262, 1.9219106435775757, 1.1140393018722534, -0.63166636228561401, -1.2496112585067749, -0.26964014768600464, 0.50432217121124268, -0.27629601955413818, -1.7310745716094971, -2.1177949905395508, -0.73613542318344116, 0.33300954103469849, 0.54756653308868408, 0.18204399943351746, -0.081748969852924347, 0.21511146426200867, 0.1194780096411705, -0.2882847785949707, -0.2623630166053772, -0.45444947481155396, -0.31212702393531799, 0.26345798373222351, 0.44046372175216675, 0.24351362884044647, 0.35899960994720459, 0.52845144271850586, 0.43650147318840027, -0.0049503413029015064, -0.3771112859249115, -0.14677417278289795, -0.19530929625034332, 0.11992727220058441, 0.50644785165786743, 0.90106415748596191, 0.86036497354507446, 0.39415085315704346, 0.24861182272434235, 0.085952505469322205, 0.0053904945962131023, -0.1426081508398056, 0.15827654302120209, 0.46632155776023865, 0.38198944926261902, 0.30794888734817505, -0.071060962975025177, -0.58268940448760986, -0.36492350697517395, 0.16959074139595032, 0.42767143249511719, 0.4193972647190094, -0.13883115351200104, -0.76866143941879272, -0.99880218505859375, -0.72443145513534546, 0.10660240054130554, 0.66348350048065186, 0.15457668900489807, -0.31265315413475037, 0.52098143100738525, 1.1421202421188354, 0.90630334615707397, -0.69064116477966309, -1.043321967124939, -0.27500519156455994, 0.41882327198982239, 0.17047208547592163, 0.046583008021116257, 0.28114393353462219, -0.34601700305938721, -1.029274582862854, -1.1386836767196655, -0.31067365407943726, 0.12853686511516571, -0.62191730737686157, -1.3329089879989624, -1.2261849641799927, -0.16700565814971924, 0.47895318269729614, 0.24595645070075989, 0.25322964787483215, 0.38191044330596924, 0.014861207455396652, -0.63482624292373657, -0.36382821202278137, 0.50249719619750977, 0.96423929929733276, 0.16449855268001556, -0.35022133588790894, -0.34417617321014404, 0.088902302086353302, 0.41090169548988342, 0.14906556904315948, 0.23126320540904999, 0.056754712015390396, 0.1051647737622261, 0.41634416580200195, 0.8044666051864624, 0.69122880697250366, -0.35913145542144775, -0.91230034828186035, -0.69331884384155273, 0.046356741338968277, -0.041292570531368256, -0.69704264402389526, -0.6748698353767395, -0.20215724408626556, 0.31376832723617554, 0.56864035129547119, 0.78909176588058472, 0.73506045341491699, 0.41280171275138855, -0.12629993259906769, -0.52277898788452148, -0.65362244844436646, -0.40325444936752319, 0.20043164491653442, 0.37265753746032715, 0.38578540086746216, 0.36496025323867798, 0.47444412112236023, 0.87904143333435059, 0.96197056770324707, 0.45306116342544556, -0.29549896717071533, -0.39960697293281555, 0.030155019834637642, 0.0025636851787567139, -0.80467128753662109, -1.1233134269714355, -0.15160609781742096, 0.85370868444442749, 0.63743686676025391, -0.26204782724380493, -0.98884588479995728, -1.1999189853668213, -1.3864697217941284, -1.6463358402252197, -1.4141676425933838, -0.77063226699829102, 0.055009566247463226, 0.59480839967727661, 0.48629793524742126, 0.11534310877323151, -0.030965134501457214, 0.14508631825447083, 0.79774487018585205, 0.82637643814086914, 0.57877665758132935, 0.1914905309677124, 0.15784628689289093, 0.11250559985637665, -0.53259646892547607, -1.1136010885238647, -1.2066301107406616, -0.66270190477371216, 0.36226221919059753, 0.62271535396575928, 0.090875484049320221, -0.43045738339424133, -0.712047278881073, -0.15758536756038666, 0.35905337333679199, 0.29102924466133118, -0.20138324797153473, -0.70564538240432739, -0.70115458965301514, -0.42725357413291931, -0.25776299834251404, -0.35694944858551025, -0.74894040822982788, -0.94030028581619263, -0.81086677312850952, 0.061303026974201202, 0.98671281337738037, 0.94588172435760498, -0.065125346183776855, -0.98111611604690552, -1.1156712770462036, -0.36315402388572693, 0.11275091022253036, 0.1825295090675354, 0.54954785108566284, 0.63770443201065063, 0.43039068579673767, 0.14925070106983185, 0.054067801684141159, 0.4801287055015564, 0.82706665992736816, 0.32196184992790222, -0.40967053174972534, -0.52899837493896484, -0.14686718583106995, 0.31551134586334229, 0.24304233491420746, 0.20409728586673737, 0.088297389447689056, -0.34103992581367493, -0.69544637203216553, -0.33680832386016846, 0.39778351783752441, 0.33828338980674744, 0.51260215044021606, -0.0168624147772789, 0.023694643750786781, -0.40614014863967896, -0.65470206737518311, -0.47869107127189636, -0.57740485668182373, -0.47206839919090271, -0.42960292100906372, -0.41902992129325867, -0.40778365731239319, -0.16417039930820465, -0.068258896470069885, -0.47894313931465149, -0.67313700914382935, 0.06151122972369194, 1.1153159141540527, 1.8307614326477051, 0.65996724367141724, -0.41266775131225586, -0.4099094569683075, 0.65626013278961182, 1.0740669965744019, 0.96131515502929688, 0.042150441557168961, -0.12850940227508545, -0.047673139721155167, -0.19372762739658356, -0.59889370203018188, -0.94625109434127808, -0.81092143058776855, -0.72282224893569946, -0.56806379556655884, -0.55534476041793823, 0.025926541537046432, 0.41141673922538757, 0.53553831577301025, 0.36273261904716492, -0.48575672507286072, -1.1201944351196289, -0.6765751838684082, 0.039797987788915634, 0.53963637351989746, 0.5206756591796875, 0.35673606395721436, 0.68776839971542358, 1.0680139064788818, 0.56025290489196777, -0.50794827938079834, -0.94345849752426147, -0.33028626441955566, 0.24082322418689728, 0.26209557056427002, -0.18249598145484924, -0.6891409158706665, -0.75464248657226563, -0.52320337295532227, -0.37183141708374023, -0.16746596992015839, 0.037590011954307556, 0.059783253818750381, 0.29299831390380859, 0.60755765438079834, 1.0479291677474976, 0.91659152507781982, 0.36662659049034119, -0.1552271693944931, -0.17696154117584229, 0.48159396648406982, 0.45022767782211304, -0.74164742231369019, -1.5740785598754883, -1.6060879230499268, -0.26807066798210144, 0.5106499195098877, 0.64524894952774048, 0.27945339679718018, 0.19150856137275696, -0.09196268767118454, -0.46979370713233948, -0.41017788648605347, 0.40747669339179993, 0.92242670059204102, 0.84570658206939697, 0.49765390157699585, 0.43525442481040955, -0.19864463806152344, -0.98406428098678589, -1.1643432378768921, -0.5342070460319519, 0.098238758742809296, -0.40041527152061462, -0.88861793279647827, -0.31530705094337463, -0.18585376441478729, 0.075665459036827087, 0.30513319373130798, 0.22086280584335327, 0.38808652758598328, -0.1051582545042038, -0.7818300724029541, -1.0356292724609375, -0.72213608026504517, 0.15950702130794525, 0.49633756279945374, 0.37685197591781616, 0.18879033625125885, 0.33089542388916016, 0.47484415769577026, 0.59335529804229736, 0.44361704587936401, 0.22682523727416992, 0.081802457571029663, -0.062751695513725281, -0.26698502898216248, -0.18828928470611572, -0.27052035927772522, -0.10947775095701218, -0.23349340260028839, 0.32985466718673706, 0.74116641283035278, 0.43355226516723633, 0.025920895859599113, -0.1832062304019928, 0.045103996992111206, 0.19920900464057922, 0.094053082168102264, -0.22556845843791962, 0.029571047052741051, 0.54127466678619385, 0.92401450872421265, 0.31541040539741516, -0.71755671501159668, -0.71187704801559448, 0.037855770438909531, 0.69046396017074585, 0.71681052446365356, 0.1861928254365921, 0.28094378113746643, 0.34529852867126465, 0.14960798621177673, 0.019036764279007912, 0.63336741924285889, 1.1700841188430786, 0.42612126469612122, -0.90568310022354126, -1.4767827987670898, -1.1323466300964355, -0.52663969993591309, -0.15142326056957245, -0.017504045739769936, -0.15452982485294342, 0.17775912582874298, 0.70322799682617188, 1.1580706834793091, 0.9211234450340271, -0.22726413607597351, -0.98649954795837402, -1.0122083425521851, -0.6319928765296936, -0.55017703771591187, -0.094857595860958099, 0.87486761808395386, 0.72882169485092163, 0.17601314187049866, -0.094464465975761414, 0.025726797059178352, 0.31566300988197327, -0.1313270628452301, -0.74358075857162476, -0.66626924276351929, -0.60894060134887695, -0.44155740737915039, -0.062782473862171173, 0.21547070145606995, 0.22154802083969116, 0.1154477521777153, 0.29813897609710693, 0.058677531778812408, 0.14959841966629028, 0.55433464050292969, 0.53181129693984985, 0.28118062019348145, -0.29269132018089294, -0.92090946435928345, -0.77602618932723999, -0.39833134412765503, -0.095122158527374268, 0.030936764553189278, 0.22521761059761047, 0.31072071194648743, 0.2969534695148468, 0.033678319305181503, -0.011497288942337036, 0.26370573043823242, 0.18993712961673737, 0.034342940896749496, -0.22979885339736938, 0.66938924789428711, 1.1743794679641724, 0.54745584726333618, -0.090341821312904358, -0.012894852086901665, 0.4463668167591095, 0.57970660924911499, 0.19393721222877502, -0.084981046617031097, 0.49871107935905457, 1.0779027938842773, 1.1999276876449585, 0.60742491483688354, -0.7112535834312439, -1.4000070095062256, -1.2133283615112305, 0.16715012490749359, 0.6455119252204895, 0.37000110745429993, -0.086073577404022217, -0.52385377883911133, -0.80360525846481323, -0.96182763576507568, -0.51801776885986328, -0.058644227683544159, 0.12812387943267822, -0.29034548997879028, -0.5707249641418457, -0.47898367047309875, -0.31269457936286926, 0.21548974514007568, 0.1486387699842453, 0.39862453937530518, 0.50207638740539551, 0.2539668083190918, 0.44268390536308289, 0.50524312257766724, 0.76239877939224243, 1.0170347690582275, 0.85935646295547485, 0.51264601945877075, 0.31488355994224548, 0.50255316495895386, 0.47741380333900452, 0.014098227955400944, -0.036798987537622452, 0.40924862027168274, 0.91255438327789307, 1.1473824977874756, 0.64083021879196167, -0.043448854237794876, -0.42531290650367737, -0.22023923695087433, 0.14325645565986633, 0.13379354774951935, 0.36054214835166931, 0.68601322174072266, 1.2167031764984131, 1.0785213708877563, 0.90114057064056396, 0.4560486376285553, 0.16435974836349487, -0.47361624240875244, -0.34930244088172913, 0.068573199212551117, 0.59909605979919434, 0.27469390630722046, -0.15880399942398071, -0.24765285849571228, -0.11034347862005234, -0.13901412487030029, -0.47640189528465271, -0.29852017760276794, -0.1161331981420517, -0.54316329956054688, -1.2663754224777222, -1.5608482360839844, -1.3683587312698364, -1.0572638511657715, -1.0750929117202759, -1.0997238159179687, -0.79186838865280151, -0.63919556140899658, -0.34330615401268005, 0.17049641907215118, 0.32974851131439209, 0.39217248558998108, -0.24850200116634369, -0.91769027709960938, -0.7193596363067627, 0.64408212900161743, 1.4563354253768921, 0.21134030818939209, -0.60937660932540894, -0.66475844383239746, -0.1341739147901535, -0.0028304548468440771, -0.017764914780855179, 0.16102235019207001, -0.28230354189872742, -0.76215946674346924, -1.2495235204696655, -0.525093674659729, 0.041798781603574753, 0.043737459927797318, -0.11605071276426315, 0.031046351417899132, 0.65048277378082275, 0.56867736577987671, 0.086077302694320679, 0.12055900692939758, 0.82770830392837524, 1.2852698564529419, 1.5416532754898071, 1.1790648698806763, 0.09270041435956955, -0.31235116720199585, -0.68459761142730713, -0.69330894947052002, -0.38055256009101868, 0.036352597177028656, -0.10899984091520309, -0.45319601893424988, -0.52381962537765503, -0.22927598655223846, 0.22934837639331818, -0.15044425427913666, -0.40478906035423279, 0.0057893199846148491, 0.71800613403320313, 0.67712360620498657, 0.019298171624541283, -0.87222009897232056, -0.73467111587524414, -0.57169389724731445, 0.034069471061229706, 0.011051124893128872, -0.08489593118429184, 0.47212368249893188, 0.88462924957275391, 0.72415453195571899, 0.10215301066637039, -0.091433465480804443, 0.17520131170749664, 0.52159994840621948, -0.23261810839176178, -1.0358736515045166, -1.5217336416244507, -1.0838019847869873, -0.31620275974273682, -0.25001171231269836, -0.54061788320541382, -0.79473000764846802, -0.50669974088668823, 0.3180108368396759, 0.63918650150299072, 0.16469627618789673, -0.1155589297413826, -0.079343684017658234, 0.38852441310882568, 0.14256255328655243, 0.14341352880001068, -0.060366146266460419, -0.35038125514984131, -0.49544069170951843, -0.5024840235710144, -0.29104769229888916, 0.089186333119869232, 0.046286460012197495, -0.46742916107177734, -0.9714123010635376, -1.3686971664428711, -1.5121251344680786, -1.20844566822052, -0.97878760099411011, -0.51488405466079712, 0.098555497825145721, 0.57801657915115356, 0.51341712474822998, -0.25774869322776794, -0.84162181615829468, -1.1677365303039551, -1.0905046463012695, -0.36824688315391541, 0.36349445581436157, 0.79121381044387817, -0.29902476072311401, -1.0883091688156128, -0.089115560054779053, 1.1560431718826294, 0.89210134744644165, 0.012792179360985756, -0.34184372425079346, -0.086024537682533264, 0.33987519145011902, -0.043257828801870346, -0.73934704065322876, -1.1445941925048828, -0.5639348030090332, -0.010940678417682648, 0.43722018599510193, 0.58200514316558838, 0.66064900159835815, 0.54799491167068481, 0.31768959760665894, 0.12169457226991653, 0.18216432631015778, -0.054673217236995697, -0.55111920833587646, -0.40548145771026611, 0.16236092150211334, 0.21477539837360382, -0.61321049928665161, -0.88271850347518921, -0.59580355882644653, -0.014481267891824245, 0.58494693040847778, 0.79621469974517822, 0.77740788459777832, 0.21233883500099182, -0.82389652729034424, -1.1261575222015381, 0.029744306579232216, 1.0630429983139038, 1.2345772981643677, 0.19123564660549164, -0.24340738356113434, -0.60045909881591797, -0.43294763565063477, -0.29881060123443604, -0.40712901949882507, -0.071200661361217499, 0.63688790798187256, 0.98829847574234009, 0.39452356100082397, -0.59288811683654785, -0.11181560158729553, 1.0132379531860352, 0.90885651111602783, 0.036431793123483658, -0.84513396024703979, -0.73358029127120972, 0.032653968781232834, 0.60587143898010254, 0.3548431396484375, -0.11597121506929398, -0.29390120506286621, -0.34923607110977173, -0.087033383548259735, -0.41737213730812073, -0.63682985305786133, -0.55826514959335327, 0.1162802129983902, 0.15299364924430847, 0.0083938548341393471, -0.15104734897613525, -0.39414206147193909, -0.13839927315711975, -0.21129074692726135, -0.19340713322162628, -0.34941333532333374, -0.61419516801834106, -0.84403038024902344, -0.60093432664871216, -0.33098772168159485, 0.0735282301902771, 0.016770398244261742, 0.41956138610839844, 0.4198068380355835, 0.36309400200843811, 0.30902561545372009, 0.21027037501335144, 0.32773333787918091, 0.027711141854524612, -0.1574510931968689, 0.024844590574502945, -0.48149788379669189, -0.83012515306472778, -0.39439764618873596, 0.17851758003234863, 0.54399716854095459, 0.095945343375205994, -0.96152347326278687, -1.4972908496856689, -1.0592794418334961, -0.26390203833580017, 0.28230270743370056, -0.21610213816165924, -0.82730746269226074, -0.63736319541931152, 0.19693858921527863, 0.78341764211654663, -0.15816287696361542, -1.3449574708938599, -1.2517629861831665, -0.16877412796020508, 0.60475164651870728, 0.34216085076332092, -0.36372256278991699, -0.31884974241256714, -0.27678224444389343, -0.55996942520141602, -0.82735645771026611, -0.72689473628997803, -0.69534581899642944, -0.48071861267089844, -0.40692019462585449, -0.31179454922676086, -0.2762286365032196, -0.23288643360137939, 0.28491663932800293, 0.64606928825378418, 0.61122667789459229, -0.63393104076385498, -1.6217000484466553, -1.3203278779983521, 0.43962761759757996, 1.5767937898635864, 0.88487464189529419, -0.65896260738372803, -0.95355618000030518, -0.18848401308059692, 0.55384343862533569, -0.035185500979423523, -0.51113045215606689, -0.69181364774703979, -0.59077662229537964, -0.35647502541542053, 0.11134341359138489, 0.69250607490539551, 0.76310062408447266, 0.16641426086425781, -0.3598816990852356, -0.91256093978881836, -0.71213585138320923, -0.11060861498117447, 0.57528042793273926, 0.37597256898880005, 0.032894469797611237, -0.448569655418396, 0.047468483448028564, 0.72322434186935425, 0.42700633406639099, -0.40767073631286621, -0.66667389869689941, -0.25292852520942688, -0.29328975081443787, -0.49008312821388245, -0.30083838105201721, 0.31240767240524292, 0.47599592804908752, -0.11178339272737503, -1.18406081199646, -1.1550849676132202, -1.0470477342605591, -0.5486680269241333, -0.096001669764518738, 0.92615550756454468, 1.2187347412109375, 0.62677282094955444, -0.13344274461269379, -0.082145147025585175, 0.53056943416595459, 0.86523258686065674, 0.30265438556671143, 0.051368571817874908, -0.14721556007862091, -0.05904032289981842, -0.58848243951797485, -0.12999863922595978, 0.18320958316326141, -0.13723713159561157, -0.56772923469543457, -0.24181632697582245, 0.79288631677627563, 0.99774259328842163, 0.20245257019996643, -0.38824570178985596, 0.13064034283161163, 0.7063453197479248, 0.3467043936252594, -0.10427984595298767, -0.13042420148849487, 0.22654791176319122, 0.33288079500198364, -0.52492493391036987, -0.26850345730781555, 0.11394988745450974, 0.11141373217105865, -0.32415667176246643, -0.73272168636322021, -0.29810759425163269, 0.48415282368659973, 0.37266561388969421, 0.63964384794235229, 0.79616481065750122, 1.1065883636474609, 0.83130800724029541, 0.013663208112120628, -0.37356442213058472, 0.011992597952485085, 0.15419751405715942, -0.2151472270488739, -0.10010278224945068, 0.53285986185073853, 0.75828826427459717, 0.56676006317138672, -0.045986086130142212, -0.15352950990200043, -0.20352926850318909, 0.14688681066036224, 0.39758890867233276, 0.71110743284225464, 0.25518572330474854, -0.23507693409919739, 0.74148696660995483, 1.5678571462631226, 0.92394310235977173, 0.099467933177947998, -0.18453828990459442, 0.3641304075717926, 0.64145797491073608, 0.75722628831863403, 0.98975110054016113, 0.53838372230529785, -0.15899872779846191, -0.92720925807952881, -1.1134786605834961, -0.64936113357543945, -0.319507896900177, -0.41916465759277344, 0.072624467313289642, 0.83018296957015991, 1.035935640335083, 0.90896880626678467, 0.30480018258094788, 0.017370406538248062, 0.15445919334888458, 0.030436811968684196, -0.16534753143787384, -0.30963662266731262, -0.25070303678512573, 0.0912676602602005, -0.10616538673639297, -0.39404803514480591, -0.39375200867652893, -0.060177493840456009};
const double e_fdaf[] = {-0.0486912801861763,0.0808008536696434,0.254967361688614,-0.125025629997253,0.00986072421073914,-0.159541428089142,0.138776168227196,0.173458054661751,-0.189081564545631,0.125554054975510,-0.0659255310893059,0.145129129290581,0.0231428835541010,-0.224103391170502,0.398939311504364,0.973400771617889,0.523136794567108,-0.257454514503479,-0.137781396508217,-0.0330400653183460,-0.579983413219452,-1.08379399776459,0.140521526336670,2.27743554115295,2.55592775344849,1.55979967117310,0.897223353385925,1.09053266048431,1.13279867172241,0.561443567276001,-0.130341723561287,-0.177968248724937,0.727383014698375,1.53683148544760,1.56198550373137,0.781166354836361,-0.213963848407839,-0.0975017066808588,0.814511006562499,1.39546724021202,1.10372708025412,0.597486529595891,0.250101822920555,-0.0530057271666836,-0.204175923187155,0.100881687733965,0.0794986341600266,-0.774641157315292,-1.29957918414408,-1.50874974090451,-0.629378684870430,0.252922138183855,0.491068218781344,-0.000294479838183440,-0.470253900415732,-0.523473435103185,-0.266414349842096,0.269943331628616,0.409203571494861,-0.401967783115615,-0.553407892746308,-0.276734433044405,0.437549778170347,0.749763262292745,0.771874752143182,0.494802068776823,-0.334156819383328,-0.947017604854009,-1.10879266537437,-0.416603953009479,0.538341168083711,0.556336067109694,0.180114208844262,-0.128348411213884,0.133874151750570,-0.0884647117896621,-0.391208743456742,-0.201910667839168,1.04143367353697,1.39579777422608,0.620957187913721,-0.712932228329936,-1.29065286157966,-0.679102561838521,0.436269663250727,0.746959733971310,0.109017845253811,0.187418212135375,0.484310435844371,0.00118373043360302,-1.14331773420030,-1.34578889312898,-0.697888169893937,0.267076347359181,0.424640468900583,0.368367171796976,0.672612170507930,0.568673011339015,0.488635650167930,0.396951893456936,0.344861204015841,0.433320214824953,0.567631928525611,0.101146108148360,-0.587335876459793,-1.25320738420954,-0.535317113000690,0.700506828001501,1.47403782290216,0.937673112468912,0.238315434673525,-0.338130415301410,-0.928887527327046,-1.11048030747065,-0.796375812145852,-0.434206637273855,-0.152816643091442,-0.103136713801708,-0.189799718302113,-0.154034266335063,-0.350282342348610,-0.0956590038144891,0.858104879628512,1.43074991212162,0.424794975355012,-0.826560652804388,-1.38453335584760,-0.360423359671771,0.270895847224189,0.187083889388858,0.347689259795184,0.661617299872841,-0.0657851338534532,-1.07749419809414,-0.784399726234268,0.674123770826126,1.81608315689015,1.31609924301148,-0.184035564057801,-0.825354414040397,-0.158421064131943,0.372458867679828,0.658214780505943,-0.0458174105410111,-0.421522085736891,-1.00207638259998,-1.02354680233592,-0.898604721900181,-0.225866654636755,0.171484608115428,0.0166820780439748,-0.0106579068893558,-0.241684550060129,0.274400395280489,0.661196559324678,-0.137880594407516,-0.455781666454454,-0.889680912960186,-0.747778983566667,-0.699233177107981,-0.557287634777355,-0.827743088245608,-1.15277336683644,-0.923691438960953,-0.490891124116731,0.314467491025965,0.439197452272462,-0.219778542728783,-0.357860003343298,-0.188330676412739,0.0633126304294425,0.0204315074498337,-0.0316454008216595,0.133480222471499,0.115675680562025,-0.556241668998936,-0.942048327038637,-0.797770777846883,0.924473772905680,1.79292801566560,1.02050241884539,-0.624070434261513,-1.19625392871478,-0.252061196447520,0.499397815053726,-0.215618610356240,-1.59322551881363,-2.00055912463457,-0.697604338805790,0.324482471532131,0.543020162479134,0.168423388634474,-0.0915823838302659,0.189103898657332,0.0948503911594119,-0.297644544985841,-0.241823387768697,-0.420059158948413,-0.298643024264866,0.235691753302766,0.398003844202629,0.212011131594938,0.326954454005001,0.494553937695431,0.428434803289670,0.0152697332945612,-0.352280782558403,-0.137395752818635,-0.195133103647934,0.110052549326608,0.469523654561470,0.850119373483699,0.819536906305201,0.377200839680552,0.228977315300699,0.0552382605958979,-0.0218624210222323,-0.152105330261661,0.164104535410606,0.474487021426552,0.389186600068095,0.304225506374341,-0.0615385053713348,-0.550134303703703,-0.328337389756294,0.192205876360447,0.432570189931145,0.430701276489418,-0.108407993617228,-0.711296556624210,-0.918473912025529,-0.666599718263744,0.0905292192266981,0.597311332482989,0.122523438901079,-0.312391503938809,0.476904842775633,1.04124587738580,0.836411180195143,-0.691844027767072,-1.02191698070168,-0.282874643382186,0.397306647599219,0.187003360095731,0.0572985303213321,0.256363228154722,-0.366258936784071,-0.985813890361518,-1.04545084640304,-0.247996643335921,0.161169077801999,-0.562109288775332,-1.24900016300661,-1.18832356058809,-0.187434459264341,0.462296373107454,0.252702939120790,0.231867052794705,0.316336252614625,-0.0397964793357763,-0.621786202209303,-0.348642071336406,0.446409313336886,0.885165976619203,0.135228303373213,-0.329289066855937,-0.351153599086666,0.0602258827981297,0.397892224785886,0.148108270245340,0.202422598651291,0.0306039776235852,0.100863544281289,0.406013653258960,0.746260373917517,0.637258273070820,-0.345581033770309,-0.857880578825784,-0.645970581955399,0.0818054440566787,0.0193435871439228,-0.614134084094284,-0.617112714276465,-0.194304263769429,0.293170353425813,0.554190549590753,0.767576917159391,0.693825509276357,0.376276129359924,-0.129359327780176,-0.497266037594145,-0.626210164596352,-0.391878913202992,0.197730564618702,0.360707462121778,0.360716762300093,0.325841540088409,0.415402414840860,0.779706274238398,0.860127297733709,0.388126139909858,-0.286667725165954,-0.372349738199166,0.0194574148603874,0.00192547229693274,-0.753927854137493,-1.04751682231548,-0.133506350508322,0.818004629390857,0.640760850227921,-0.180124456298341,-0.887034410452894,-1.12781720523850,-1.31587580818032,-1.55571976692830,-1.33432757773797,-0.742786757636493,0.0481284956784406,0.554847019319547,0.438764517548182,0.0678953982453152,-0.0928784147595620,0.0676063933889585,0.687207428007763,0.715718106889006,0.501597078588390,0.163749517359895,0.139028663345885,0.0796311878734486,-0.540845642866390,-1.06557304175835,-1.12405482363092,-0.604271094150561,0.372038227881600,0.609343211555696,0.0836570512452167,-0.426261514693847,-0.706587891766128,-0.146678219411509,0.349061450366486,0.258141925284049,-0.224890310509612,-0.707873733915902,-0.674991397036050,-0.391523168380250,-0.218933611593169,-0.315003255209651,-0.721302131908732,-0.912577250201545,-0.781899605308311,0.0656774280340068,0.950577289285463,0.914418951244554,-0.0671845577415170,-0.966284777557165,-1.11799906244779,-0.375060431182120,0.104727635406154,0.189721046396499,0.543212104649744,0.567153841999010,0.346253948579009,0.0924236650135924,0.0354608534347022,0.459709442083113,0.796157168223317,0.311696243895784,-0.391379831682671,-0.521255331972284,-0.158434044201223,0.311646660978505,0.262910857700156,0.218366543597003,0.0933364933900663,-0.332833494488755,-0.683310580109685,-0.344779498586608,0.372205409193722,0.315808399028426,0.489746673888773,-0.0387199070005660,0.0279576948149810,-0.368328937480023,-0.607492136900368,-0.435585893437113,-0.547027050228548,-0.431677955101377,-0.367196661767674,-0.349618681994020,-0.350498402021206,-0.137929585661132,-0.0785091983352620,-0.495010712661999,-0.666404461785363,0.0561636828534667,1.03315719406917,1.71347449563301,0.567168584683900,-0.456855177235202,-0.452832228491287,0.577822350452815,0.996955379112949,0.939264128701027,0.0456811697125097,-0.141123297761284,-0.0669010371559864,-0.165885264394350,-0.515280084019652,-0.833584485414934,-0.714635780384329,-0.652663301497740,-0.525992177899735,-0.527146584071340,0.0354756463368436,0.403554149973396,0.517455143931238,0.348568570116882,-0.469654798772371,-1.09251790464091,-0.668167996155354,-0.00530982011931899,0.467388565300159,0.468103349313684,0.326868523902236,0.641017339683467,0.992464299587354,0.501390037240104,-0.504505424051827,-0.905080748173293,-0.304616851979215,0.251485598912473,0.291651752373176,-0.131765514059148,-0.626439130501386,-0.701307992503258,-0.476330190784334,-0.347679959289801,-0.162113742582028,0.0192526442750378,0.0405880257379495,0.274843769241315,0.566643739388924,0.967256539822436,0.810107836761285,0.283208914699979,-0.182767783281009,-0.167904775861499,0.498344367389957,0.478113796152137,-0.673188523705239,-1.47473130088133,-1.54095015805461,-0.258108806257734,0.507910152879900,0.677479292360921,0.308198434892987,0.176383081584835,-0.131305499722555,-0.499907278028392,-0.450661686854014,0.356164678086628,0.881515857052942,0.838246644499087,0.487336482772191,0.386450452154759,-0.239692815687182,-0.965304293581035,-1.11319323608844,-0.485582481731877,0.145847904305372,-0.322975760249818,-0.833838608667196,-0.306244542454266,-0.211428951835790,0.0702077966883695,0.323869632674206,0.243037202852361,0.383580023909169,-0.116642733137649,-0.779206076550874,-1.02211308301141,-0.711129494039489,0.160383948397844,0.482386345986265,0.362051765587740,0.173125275596704,0.300834720641051,0.417892558897407,0.544072847611535,0.417295547195130,0.221166338938826,0.0843932344373495,-0.0620858492836521,-0.246234484455418,-0.163312375023963,-0.246139263674820,-0.0809208937455751,-0.210894459533723,0.319959754831250,0.714317083617817,0.424824972500654,0.0449535106889552,-0.160567775849007,0.0476059024474112,0.170804224136073,0.0654770353001625,-0.229681774387469,0.0531487909530598,0.559111405796630,0.918096321482529,0.296982709758205,-0.716371959772483,-0.703469399571282,0.0212553761807552,0.681648775961817,0.741448222391048,0.220494990214285,0.254902510414853,0.275481936069966,0.109664535121890,0.0331766100867224,0.636546375504089,1.12779150308836,0.408323911146498,-0.863736835237946,-1.42482951843155,-1.07933481313141,-0.458277733734442,-0.0801931381377836,0.0173984383969929,-0.167724911074336,0.153624636206860,0.670869664778890,1.11397255076533,0.887310572984644,-0.221801126898212,-0.986379123786857,-1.04815704323193,-0.662212077355500,-0.527590023310994,-0.0696769218065164,0.866427609955325,0.704547664868264,0.172070829754200,-0.0872914165529358,0.0212225111570319,0.321819271777090,-0.0904735646959756,-0.703869561478218,-0.656581617639721,-0.617509501095044,-0.428171565983173,-0.0453813882405506,0.232919348938605,0.239369373055001,0.109021903826294,0.267161099841624,0.0143448388855061,0.117958992172879,0.537942427994220,0.509945107017656,0.273567979997519,-0.283216048580173,-0.891665925689543,-0.746108362232305,-0.377138425348621,-0.0650050309456857,0.0678377213992691,0.234131081289607,0.308274877711638,0.294666977568719,0.0447540164214368,0.00372229729225226,0.248917032057885,0.168388384311795,0.0388114705001921,-0.233061255897262,0.611021348508241,1.09431295657556,0.517966960039751,-0.0668315191020030,0.0132117754848348,0.429613478645372,0.533600393044866,0.160581983185152,-0.119330093002973,0.473628974068391,1.07955333685016,1.20974823313842,0.613356229021372,-0.703046551407625,-1.38287742600353,-1.20189631482872,0.179486760762902,0.688990225370199,0.447773190529760,-0.0256389849609415,-0.509847629535971,-0.806305961818153,-0.934764219707671,-0.457338249461457,-0.00429903350128380,0.174646345333575,-0.246546537109431,-0.555955194885474,-0.490518498733683,-0.329509890528254,0.209468858670089,0.159256159197550,0.397932526229242,0.473313650922970,0.218413531292704,0.403339868786422,0.455488439522883,0.709975699337894,0.963265310911330,0.825832743591054,0.510526004535882,0.325369941750722,0.501174831050637,0.481957180893970,0.0350615973828796,-0.0104053525007018,0.426414256877976,0.929711549217885,1.16542679447065,0.676799142761710,0.00532257390001335,-0.376106320885628,-0.181227593858184,0.165325988445669,0.148302015950220,0.368020761092468,0.679443483398968,1.19939129329574,1.07434567258632,0.898993007917548,0.428549444184458,0.127488012310365,-0.491993353203198,-0.355262422880966,0.0524883577374310,0.580503845503217,0.277628851529471,-0.141995594393096,-0.249158112640166,-0.145797893233885,-0.151123420752012,-0.436447745863551,-0.254803333973771,-0.102242358909569,-0.550788429408011,-1.25110249392366,-1.51852668379327,-1.32139925877700,-1.00733730309654,-1.03701897466405,-1.09859393944723,-0.818225486548518,-0.680028896403541,-0.366828936772519,0.162851015940303,0.294553715943116,0.300378384338163,-0.361826555359571,-0.990046211990558,-0.771170677489547,0.579966688236951,1.39435093428755,0.189772796399648,-0.623828713035914,-0.714591327927982,-0.195620763491368,-0.00100790991504872,0.0342512627083537,0.219132599886341,-0.247213458496060,-0.726363719750337,-1.20811608117493,-0.509269287744998,0.0223395784800545,0.0554318077228576,-0.0670338483340818,0.0632549546793423,0.616532742606677,0.505886929423731,0.0249861003343614,0.0685492256381730,0.768813139697183,1.23527282764635,1.51529887028843,1.16305979209926,0.0834669586989277,-0.330563209813862,-0.688558459353200,-0.673623135412700,-0.349725248625301,0.0650547730351211,-0.0586171097312635,-0.390785279975025,-0.480293507116419,-0.223096818549195,0.221106571395612,-0.146889944304240,-0.380022583715919,0.0172815762129305,0.703001890445056,0.658941495756493,0.00803126072157120,-0.871346486694706,-0.754721649440017,-0.614164469048845,7.84207187827391e-05,0.0147291282745545,-0.0653377626029524,0.452496341322956,0.822301425665718,0.662391648040223,0.0802963584108823,-0.0818829842577851,0.173692754313387,0.504511096270862,-0.236750221294160,-1.01831482895358,-1.50592506908515,-1.06609523581933,-0.306354985476182,-0.240771991678860,-0.526360062409898,-0.778880947944123,-0.502853197653738,0.295659680580216,0.609456327821737,0.128286929483957,-0.169220025728307,-0.154423505447718,0.311260325850862,0.0984203731617025,0.121594520785367,-0.0840706412709292,-0.378794348984439,-0.513560753229123,-0.533509985922273,-0.324811866815551,0.0670980328996279,0.0514853867403235,-0.452053993933957,-0.947135494771441,-1.34874926196666,-1.53008449922302,-1.25360232487997,-1.01355452985605,-0.515961627455196,0.113367983571852,0.577490337455989,0.493096921880112,-0.307652256689578,-0.917777013856338,-1.23329516021794,-1.11471186450200,-0.379660294094145,0.325446095558251,0.733877154329500,-0.338268905035845,-1.09045456988370,-0.112174168903606,1.11198467895118,0.869338069268459,0.0290924326912161,-0.324967058233103,-0.106506885357751,0.304360358399235,-0.0559195515101858,-0.714211460450578,-1.12886147050513,-0.579600203127924,-0.0281457062578205,0.435127547817399,0.585977549853994,0.666916431283513,0.571751364547720,0.340434409361357,0.110104079573752,0.131645226429434,-0.100795381960304,-0.553658835153584,-0.362563481859054,0.213793155401323,0.237737424873779,-0.608525294941945,-0.900326842367015,-0.644888172851631,-0.0318100431364140,0.643040857859150,0.881111922280062,0.812474142190223,0.186180914990925,-0.873299197284693,-1.16408443203109,0.00329718943145854,1.06767800415981,1.29117581203115,0.246717066875011,-0.239129536814554,-0.656487278362394,-0.498388498260037,-0.310590837534955,-0.339340110284105,0.0125096214954378,0.656672724448670,0.948060593098598,0.351245067101052,-0.603823097160711,-0.107946664781082,1.01314433049742,0.917197761291755,0.0499992561235887,-0.843582283687248,-0.763581795753620,-0.00848389360631208,0.597094099864113,0.386685368474537,-0.0917180565410418,-0.290973885623335,-0.369642794781198,-0.115455109396545,-0.436041223734418,-0.641940487562089,-0.550344854688779,0.125957895256899,0.141898962695459,-0.00191266406207225,-0.159050645144095,-0.412988791215892,-0.149087923875710,-0.202699787661127,-0.192758679141549,-0.357583001556298,-0.627305510952697,-0.862285783751266,-0.629275204389017,-0.359310656452780,0.0713612765318373,0.0201799038953147,0.407663234495483,0.377822036574714,0.301530101926746,0.250675211132472,0.166878364836500,0.313708535966338,0.0301553796964413,-0.172105507232641,-0.0366055455652006,-0.551466475848869,-0.856872264066708,-0.391432680372397,0.188978405092645,0.542444129001794,0.0754429882617972,-0.975279007171817,-1.50122833362862,-1.06524369501749,-0.272918456772895,0.254347756740202,-0.264421563007339,-0.849146085340329,-0.646465737493526,0.165086970794784,0.727053246320296,-0.203615689149324,-1.37746262716277,-1.30720857526759,-0.241174861892877,0.572567827478077,0.358349831244002,-0.360070697688063,-0.374660878681550,-0.374889807446332,-0.627761379071058,-0.842520346956029,-0.715262745531375,-0.682283025467449,-0.484309140365442,-0.448240955396543,-0.398447587869215,-0.353614655038296,-0.250994877073229,0.317574833978139,0.663662075255446,0.555638328886662,-0.745012124286715,-1.69679465224497,-1.35239072263652,0.439118084410644,1.57815225042911,0.877700588234634,-0.690672475452611,-1.02180692358581,-0.253292872719744,0.550799826697503,0.0294948960662364,-0.474659629599081,-0.736521722199764,-0.666409644710103,-0.395123404975973,0.130953949377262,0.728901833882891,0.780195500577688,0.158097294983409,-0.408828382840124,-0.973424592177322,-0.738448931393972,-0.0901716831824675,0.600372146143503,0.366490433905315,-0.0183686014921722,-0.503896820159648,-0.00957301796596345,0.683657600350407,0.447050002667295,-0.344456922908640,-0.643946269313660,-0.303119276646186,-0.359021490483291,-0.510038859776931,-0.271430415589887,0.356183943528744,0.531040277999975,-0.0669803078452876,-1.18674364386106,-1.21703307495707,-1.13276949352425,-0.563644808973901,-0.0361018231239534,0.972087812399102,1.20824246933472,0.594772599666904,-0.158723390410887,-0.110875514085107,0.499811472404815,0.875695057604948,0.339250120520065,0.0645347859823398,-0.183776299075134,-0.0878723816933898,-0.552316386832040,-0.0932509170842361,0.184772701025552,-0.143800477618974,-0.534373625853084,-0.208658173045015,0.798574059228907,0.992558393317266,0.221204990273553,-0.375362119716818,0.113305469053976,0.677677110825776,0.368013578472960,-0.0484823679295820,-0.0952113643875767,0.206771934312047,0.315422217015281,-0.504938580884963,-0.244203717193049,0.130978293185758,0.131095930676916,-0.285170926451694,-0.693195182509505,-0.296991247763681,0.466636180686565,0.380720845990738,0.677909604956473,0.826492188503761,1.10916674346715,0.846209577611099,0.0400469496690296,-0.363512341197175,-0.0112832574892553,0.138445085711235,-0.183271258149932,-0.0327165862699459,0.588072496731867,0.808417574309855,0.613778090629540,-0.00504018989651955,-0.121528209435480,-0.157687341082686,0.218588575077540,0.440526820739120,0.696487679637551,0.236074576668532,-0.229520242753652,0.765071029668384,1.59768954644276,0.973011507695070,0.147984798381988,-0.179844418384865,0.342574383612491,0.653685130181755,0.814755331751923,1.07119635992630,0.595084560932597,-0.140653305589776,-0.911708378678130,-1.11415327008253,-0.670744403589091,-0.325547884280270,-0.380231186001027,0.128054832372824,0.872631854652432,1.05599781989599,0.937778812997564,0.305951405973817,-0.0109623035714342,0.119064460563616,0.0126614487519251,-0.152859335744731,-0.285235778713760,-0.249196531478155,0.0651224820358071,-0.133027944356799,-0.407335886199059,-0.374635220632533,-0.00548139555768962};

void dsp::test::adaptfilt_test::test_lms()
{
	double e[1024];
	dsp::filter_adapt_lms<double> lms(32, 0.008);
	for (size_t i = 0; i < 1024; ++i) e[i] = lms(in[i], out[i]);
	CPPUNIT_ASSERT(std::equal(e, e + 1024, e_lms, dsp::within_range<double>(0.00001)));
}

void dsp::test::adaptfilt_test::test_nlms()
{
	double e[1024];
	dsp::filter_adapt_nlms<double> nlms(32, 0.008);
	for (size_t i = 0; i < 1024; ++i) e[i] = nlms(in[i], out[i]);
	CPPUNIT_ASSERT(std::equal(e, e + 1024, e_nlms, dsp::within_range<double>(0.00001)));
}

void dsp::test::adaptfilt_test::test_fdaf_overlap_save()
{
	double e[1024];
	const unsigned step = 32;
	dsp::fdaf_overlap_save<double> lms(step, 0.008);
	for (size_t i = 0; i < 1024; i += step) {
		std::copy_n(&in[i], step, lms.x.begin());
		std::copy_n(&out[i], step, lms.d.begin());
		lms();
		std::copy_n(lms.e.begin(), step, &e[i]);
	}
	CPPUNIT_ASSERT(std::equal(e, e + 1024, e_fdaf, dsp::within_range<double>(0.00001)));
}
